在项目中导入JUint jar包:右键Build Path->Add Libraries->JUnit 在项目中可以创建一个source folder,名为test,用来放置测试文件。
自动生成测试类方法:在测试类上右键 -> 选择New -> JUnit Test Case -> Next 选择对应的方法
测试方法必须使用@Test进行修饰 测试方法必须使用public void进行修饰,不能带任何的参数 测试类的包应该和被测试类保持一致 测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖 测试类使用Test作为类名的后缀(不是必须) 测试方法使用test作为方法名的前缀(不是必须)
测试失败的两种情况 Failure一般由单元测试使用的断言方法判断失败所引起的 Error是由代码异常引起的 测试用例不是用来证明你是对的,而是用来证明你没有错
JUnit运行流程 如下测试代码:
package com.imooc.util; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; public class JunitFlowTest { @BeforeClass public static void setUpBeforeClass() throws Exception { System.out.println("BeforeClass"); } @AfterClass public static void tearDownAfterClass() throws Exception { System.out.println("AfterClass"); } @Before public void setUp() throws Exception { System.out.println("Before"); } @After public void tearDown() throws Exception { System.out.println("After"); } @Test public void test1() { System.out.println("Test1"); } @Test public void test2() { System.out.println("Test2"); } }测试运行,输出如下:
BeforeClass Before Test1 After Before Test2 After AfterClass@BeforeClass修饰的方法会在所有方法被调用前被执行,而且该方法是静态的,所以当测试类被加载后接着就会运行它,而且在内存中它只会存在一份实例,它比较适合加载配置文件。 @AfterClass所修饰的方法通常用来对资源的清理,如关闭数据库的连接。 Before、After修饰的方法会在每个测试方法运行前和运行后各执行一次。
Junit常用注解 @Test将一个普通的方法修饰成为一个测试方法,有两个属性。 @Test(expected=XX.class) 属性expected用来捕获异常
@Test(expected=ArithmeticException.class) public void testDivide() { assertEquals(3, new Calculate().divide(6, 0)); }@Test(timeout=毫秒)对方法运行的时间进行限制
@Test(timeout=2000) public void testWhile() { while(true) { System.out.println("run forever..."); } }@Ignore所修饰的测试方法会被测试运行器忽略 @RunWith可以更改测试运行器
测试套件 1.测试套件就是组织测试类一起运行的 2.写一个作为测试套件的入口类,这个类里不包含其他的方法。 3.更改测试运行器Suite.class. 4.将要测试的类作为数组传入到Suite.SuiteClasses({}) eg:@RunWith(Suite.class) @Suite.SuiteClasses({TaskTest1.class,TaskTest2.class,TaskTest3.class}) public class SuiteTest{} //再建几个JUnit的测试类//TaskTest1.class,TaskTest2.class,TaskTest3.class
