麻雀虽小,五脏俱全。JUnit 设计的非常小巧,但是功能却非常强大。Martin Fowler 如此评价 JUnit:在软件开发领域,从来就没有如此少的代码起到了如此重要的作用。它大大简化了开发人员执行单元测试的难度,特别是 JUnit 4 使用 Java 5 中的注解(annotation)使测试变得更加简单。
从推出到现在,JUnit3.8.1和JUnit4的工作原理和使用区别还是比较大的,下面首先用一段代码来演示JUnit3.8.1的快速使用,以便熟悉JUnit的原理
1.首先,我们在Eclipse的项目中创建一个待测试的类Hello.java,代码如下:
public int abs(int num)
{
return num>0?num:-num;
}
public double division(int a,int b)
{
return a/b;
}
}
2.右击该类,选择 新建->JUnit测试用例,选择JUnit3.8.1,setUp和tearDown方法,点击下一步,选择需要测试的方法,JUnit会自动生成测试的代码框架,手动添加自己的测试代码后如下:
import junit.framework.TestCase;
public class HelloTest extends TestCase {
private Hello hello;
public HelloTest()
{
super();
System.out.println("a new test instance...");
}
//测试前JUnit会调用setUp()建立和初始化测试环境
protected void setUp() throws Exception {
super.setUp(); //注意:在Junit3.8.1中这里要调用父类的setUp()
hello=new Hello();
System.out.println("call before test...");
}
//测试完成后JUnit会调用tearDown()清理资源,如释放打开的文件,关闭数据库连接等等
protected void tearDown() throws Exception {
super.tearDown(); //注意:在Junit3.8.1中这里要调用父类的tearDown()
System.out.println("call after test...");
}
//测试Hello类中的abs函数
public void testAbs() {
System.out.println("test the method abs()");
assertEquals(16, hello.abs(16));
assertEquals(11, hello.abs(-10));//在这里,会出现故障,应该把左边的参数改为10
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/