看看代码就懂了,里面有详细注释。
AddAndSub.Class
/**
* 我们通常的做法如下:
* 从这个测试方法可以看出,业务代码和测试代码放在一起,对于复杂的业务逻辑,一方面代码量会非常庞大,
* 另一方面测试代码会显得比较凌乱,而JUnit就能改变这样的状况,它提供了更好的方法来进行单元测试。
*
*/
public class AddAndSub {
public int add(int m, int n) {
int num = m + n;
return num;
}
public int sub(int m, int n) {
int num = m - n;
return num;
}
/**
* @param args
*/
public static void main(String[] args) {
AddAndSub addAndsub = new AddAndSub();
if (addAndsub.add(4, 6) == 10) {
System.out.println("Test Ok");
} else {
System.out.println("Test Fail");
}
if (addAndsub.sub(6, 4) == 2) {
System.out.println("Test Ok");
} else {
System.out.println("Test Fail");
}
}
}
TestAddAndSub.Class
import service.AddAndSub;
import junit.framework.TestCase;
/**
* 如果要使用JUnit,则测试类都必须继承TestCase。
* 当然目前的最新版JUnit是不需要继承它的,但并不是说TestCase类就没有用了,
* 它仍然是JUnit工作的基础。这里先讲述继承TestCase类的方式,稍后再介绍不继承的方式。
*
* JUnit的使用非常简单,共有3步:
* 第一步、编写测试类,使其继承TestCase;
* 第二步、编写测试方法,使用test+×××的方式来命名测试方法;
* 第三步、编写断言。如果测试方法有公用的变量等需要初始化和销毁,则可以使用setUp,tearDown方法。
*/
public class TestAddAndSub extends TestCase {
private AddAndSub addAndsub;
@Override
public void setUp()throws Exception{
addAndsub = new AddAndSub();
super.setUp();
}
@Override
protected void tearDown() throws Exception {
addAndsub = null;
super.tearDown();
}
public void testadd() {
// 断言计算结果与10是否相等
assertEquals(10, addAndsub.add(4, 6));
}
public void testsub() {
// 断言计算结果与2是否相等
assertEquals(2, addAndsub.sub(6, 4));
}
public static void main(String args[]) {
junit.textui.TestRunner.run(TestAddAndSub.class);
}
}
TestAddAndSubByAnnotation.Class
import org.junit.Test;
import service.AddAndSub;
import static org.junit.Assert.*;
import org.junit.*;
/**
*Java 5的发布为JUnit带来了新的特性。
*自JUnit 4.0之后,JUnit大量使用了annotations特性,使编写单元测试变得更加简单。
*(1)使用JUnit 4.0以上版本可以不用遵循以前JUnit约定的测试方法命名方法,直接使用注释@Test
*(2)以前,JUnit使用SetUp和TearDown方法来进行初始化和销毁动作,JUnit 4.0以上版本将不再强制使用SetUp和TearDown方法来进行初始化和销毁,
*原来使用SetUp和TearDown方法的,现在可以使用注释@Befor 和@After或者@BeforClass 和@AfterClass
*(3)新版本的JUnit将不再强制继承TestCase,但需要import static org.junit.Assert.*;来实现断言,示例代码如下:
*/
public class TestAddAndSubByAnnotation {
private AddAndSub addAndsub;
//@Befor 和 @After 是针对每个方法都执行的创建和销毁函数
//如果要针对一个类定义其创建和销毁函数,可以使用@BeforClass 和 @AfterClass
@Before
public void init() throws Exception {
addAndsub = new AddAndSub();
}
@After
protected void destory() throws Exception {
addAndsub = null;
}
@Test
public void add() {
assertEquals(10, addAndsub.add(4, 6));
}
@Test
public void sub(){
assertEquals(2, addAndsub.sub(6, 4));
}
}
分享到:
相关推荐
《JUnit使用简明手册》是针对Java开发人员的一份实用指南,主要涵盖了如何有效地使用JUnit进行单元测试。JUnit是一款广泛使用的开源测试框架,它简化了Java应用的单元测试过程,帮助开发者确保代码的质量和可靠性。...
例如,`@Before` 和 `@After` 分别对应于 JUnit 3 中的 `setUp` 和 `tearDown` 方法,它们会在每个测试方法之前和之后自动调用。`@Test` 注解标记测试方法,还可以接受 `expected` 参数来指定预期的异常类型。 10. ...
随着XP软件工程技术的广泛推广,单元测试的作用在软件工程中变得越来越重要,而一个简明易学、适用广泛、高效稳定的单元测试框架则对成功的实施单元测试有着至关重要的作用。在java编程语句环境里,Junit Framework...
测试阶段,学习者将学习到不同类型的软件测试,如单元测试、集成测试和系统测试,以及如何使用自动化测试工具,如JUnit和Selenium。此外,还会探讨质量保证和质量控制的概念,确保软件产品的可靠性。 最后是维护...
首先,"junit使用简明手册.mht"可能是对JUnit基本用法的快速指南,涵盖了如何创建测试类、定义测试方法、使用断言以及运行测试的基本步骤。通过这份手册,初学者可以快速上手JUnit的基本操作。 "循序渐进学习Junit....
Java编程语言是软件开发领域广泛使用的高级编程语言之一,尤其在企业级应用和分布式系统中占据主导地位。"Java名师简明教程"是一份专为初学者和有经验的开发者设计的详细指南,旨在帮助他们深入理解Java的核心概念并...
7. **外部工具集成**:展示如何使用Ant调用其他的构建工具,如Maven或Gradle,或者执行Junit测试。 8. **构建过程示例**:提供实际的构建过程案例,一步步演示如何从零开始编写一个完整的`build.xml`。 9. **Ant与...
如何使用JUnit和Espresso进行单元测试和UI测试,以确保代码质量。同时,学习如何生成APK文件,配置签名,以及通过Google Play Store或其他第三方市场发布应用。 总之,Android手机应用开发简明教程将引导你逐步走进...
- 在Action或JSP中使用`getText()`方法获取相应的国际化文本。 9. **测试** - Struts2支持JUnit进行单元测试,通过Mock对象模拟HTTP请求,对Action进行测试。 10. **最佳实践** - 使用注解配置Action和结果,...
使用`@Transactional`注解可以方便地在方法级别声明事务,Spring会自动管理事务的开始、提交和回滚。 4. **MVC(Model-View-Controller)框架**:Spring MVC是Spring用于构建Web应用程序的一部分。在Spring 2.5中,...
### WebWork简明教程知识点详解 #### WebWork简介 - **背景**:WebWork是由OpenSymphony组织开发的一款专注于组件化和代码重用的MVC(Model-View-Controller)模式J2EE Web框架。 - **特点**: - 组件化设计,易于...
- 项目可能包含单元测试,使用JUnit等框架验证各个方法的正确性。 - 调试技巧,如使用IDE的断点、日志输出,帮助查找和修复问题。 通过这个简易电子词典项目,学习者可以深化对Java语言的理解,掌握面向对象编程...
《Parasoft C++test 9.2官方用户手册_eclipse_中文版》是一本详尽的指南,专为使用C++test工具的开发者提供在Eclipse集成开发环境中的使用方法。C++test是一款强大的静态代码分析和单元测试工具,旨在提高C++软件的...
- 类、接口和方法上方要有简明扼要的Javadoc注释,描述其功能、参数及返回值。 - 行内注释用于解释代码逻辑,避免过于频繁,以免降低代码可读性。 - 避免使用无意义的注释,如显而易见的代码就不需要注释。 3. ...
12. **单元测试与自动化测试**:通过JUnit和Mockito等工具进行单元测试,以及 Espresso 和 Robolectric 进行UI测试,确保应用的质量和稳定性。 13. **Gradle构建系统**:Android Studio使用Gradle作为默认构建工具...
阿里巴巴规范建议在每个类、接口、方法上方添加简明扼要的注释,说明其功能、用途及注意事项。此外,对于复杂的逻辑块,应在关键部分添加行内注释,解释代码意图。 三、代码结构与组织 规范鼓励使用面向对象的设计...
12. **测试**:包括单元测试、集成测试,使用JUnit、Mockito等工具进行测试驱动开发。 此外,标签中提到的"C#教程",虽然不是Java,但也是另一门重要的编程语言,与Java有很多相似之处,如都是面向对象的,也支持多...
在实际工作中,了解自动化测试工具(如Selenium、Junit)、持续集成/持续部署(CI/CD)实践和敏捷测试方法也是很重要的。同时,熟悉ISO 9001质量管理体系和ISTQB的认证体系有助于提升专业素养。 总之,软件测试是一个...