使用junit做测试目的是尽量早的发现程序的bug,一个bug隐藏的时间越久,修复他的代价就越大。
1、Junit简介:
Junit最初是由Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing
framework),为单元测试(Unit Test)的支持框架。用来编写和执行重覆性的测试。即所谓白盒测试。
它包括了以下的特性:
1 对预期结果作断言
2 提供测试装备的生成与销毁
3 易于组织执行测试
4 图形与文字界面的测试器
2、Junit的环境配置环境:Eclipse
中配置junit,选择项目Junit4(在Package Explorer中) -> 右击鼠标 ->
选择properties -> 选择Java Build Path (在左边的菜单中) -> 在右边选择标签
Libraries -> 单击按钮“Add
Library” -> 选择JUnit , 单击按钮
“Next>” -> 选择JUnit library version 为:
JUnit4 -> 单击按钮“Finish” –> 单击按钮 “OK”
Junit4是Junit框架有史以来的最大改进,其主要目标是利用java5的Annotation特性来简化测试用例的编写。Junit4的官方网址是http://www.junit.org/。
3、总结一下3-4的不同,及4的改进
下面我们以一个简单的例子来介绍如何使用 Junit4同Junit3编写测试用例:
public Class XXXX{
public String hello(){
return “hello”;
}
}
对于这个类的用junit3编写测试用例:
import junit.framework.TestCase;
public Class XXXXTest
extends TestCase{
public void
testHello(){
asssertEqual(new
XXXX().Hello(),”hello”);
}
}
用junit4编写测试用例:
import static org.junit.framework.assertEqual;
import org.junit.Test;
//这两个是junit4中必须导入的s
public Class XXXXTest{
@Test
public void helloTest(){
asssertEqual(new XXXX().Hello(),”hello”);
}
}
从上面例子我们对Junit3和Junit4有了一个初步的印象,下面我们重点介绍Junit4与Junit3的主要区别。
JUnit3 JUnit4
必须引入类TestCase
import junit.framework.TestCase; 必须引入
import org.junit.Test;
import static org.junit.Assert.*;
必须继承类TestCase
class BaseClassTest extends TestCase 不需要
测试方法必须以test开头
public void testMethod () 不需要,
但是类开始的时候要标记 @Test
通过assert*方法来判断结果
assertTrue(baseClass.method ().equals(“test.junit.BaseClass”));
3.1 Junit4引入了java 5.0的注释技术:
这两个版本最大的区别在JUnit3.x中测试必须继承
TestCase,并且每个方法名必须以test开头。比如:testMethod1()而在JUnit4.x中不必继承TestCase,采用了注解的方式。只要在测试的方法上加上注解@Test即可,从而不必再遵循以前的一些显式约定和反射定位测试;在JUnit4.x中如果继承了TestCase,注解就不起作用了。并且有很重要的一点就是在JUnit4.x中继承了TestCase后,在OutLine视图中测试单个方法时,结果整个类都run
了。还有一点就是,在3.x中需要实现set