一、一个简单的Junit测试流程:
1、在项目中导入junit-4.7.jar包,
方法:右击项目,选择Build Path->Configure Build Path->Libraries->Add External JARS,选择junit-4.7.jar包的位置,导入。
注:如果想看junit的源代码,导入时一并将junit-4.7-src.jar这个源文件包一起导入即可。
2、写一个类,如在类中加入两个最简单的加减法的方法。
如:
public class JunitDemo {
public int add(int x,int y){
int z = x+y;
return z;
}
public int subtraction(int x,int y){
int z = x-y;
return z;
}
}
新建一个Junit测试类,方法:新建一个文件,类型为Junit Test Case,命名时最好是被测的类名+test,如JunitDemoTest
3、创建好junit测试类后,对每个需要测试的方法测试,如:
public class JunitDemoTest {
@Test
public void testAdd() {
int z = new JunitDemo().add(2, 3);
assertEquals(5, z);
}
@Test
public void testSubtraction(){
JunitDemo jd = new JunitDemo();
int z = jd.subtraction(5, 2);
assertEquals(3, z);
}
}
4、右击junit测试类,选择以junit的方式来运行,之后即可看见测试结果。
二、Junit中的Annotation
@Test public void method() 定义一个要测试的方法
@Before public void method() 在每一个测试之间都会被执行的方法,这个方法常用来进行一些测试环境的准备。
如:读入输入数据、初始化类等
@After public void method() 与@Before进行对应,做一个清理工作
@BeforeClass public static void method() 在所有的测试开始之前执行,这个方法在类运行的时候运行,而且只运行一次。
所有常用来做一些所有方法都要依赖到的工作,如:数据库的链接
@AfterClass public static void method() 与@BeforeClass进行对应,做一些类级别的清理工作
@Ignore 表示方法是被忽略的,这个方法非常实用,比如方法已经修改,但是对应的测试
方法还没有得到一致的修改的时候,可以用这个关键词忽略这个方法
@Test(expected==IIIegalArgumentException) 检查测试方法是不是抛出了相对应的异常
@Test(timeout=100) 如果方法的执行操作所消耗的毫秒数>100MS,那么方法失败
三、Junit单元测试用例的执行顺序:
@BeforeClass->@Before->@Test->@After->@AfterClass
注:每一个测试方法的调用顺序为:
@Before->@Test->@After
四、最重要的断言Assert,断言这里的方法太多,举几个例子好了,其他的自行查看API
assertEquals("message",A,B):检查A和B是否有相同的内容
assertSame("message",A,B):检查A和B是否是同一个对象
assertTrue("message",A):检查A条件是否为真