JUnit 单元测试几个方法的用法注解

@Test: 将一个 普通的方法修饰成为一个测试方法
@Test(timeout = 3000)
1、终止死循环,当达到设定的值,结束循环

@Test(timeout = 2000)
    public void TestWhile(){
//      try {
//          Thread.sleep(2000);
//      } catch (InterruptedException e) {
//          // TODO Auto-generated catch block
//          e.printStackTrace();
//      }
        while (true) {
            System.out.println("终止死循环,当达到设定的值,结束循环");
        }
    }

2、测试方法执行时间是否在预期时间内

@Test(timeout = 3000)
    public void TestWhile(){
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
//      while (true) {
//          System.out.println("终止死循环,当达到设定的值,结束循环");
//      }
    }

3、处理运行时异常
@Test(expected=ArithmeticException.class)
public void TestDivide(){
assertEquals(3, new Calculate().divide(9, 0));
}
JUnit 单元测试几个方法的用法注解_第1张图片
2秒在3秒内,测试通过
JUnit 单元测试几个方法的用法注解_第2张图片

@BeforeClass: 他会在所有的方法运行前被执行,static修饰,测试类被运行就会被加载,在内存中只有一份实例,适合加载配置文件。

@AfterClass 他会在所有方法运行结束后被执行,static修饰,用于资源的清理,如关闭数据库。

@Before:会在每一个测试方法被运行前执行一次

@After 会在每个测试方法被运行后执行一次

@Ignore 所修饰的测试方法会被测试运行器忽略
JUnit 单元测试几个方法的用法注解_第3张图片
@RunWith: 可以修改测试运行器 org.junit.runner.Runner(默认运行器)

测试套件就是组织测试类一起运行的
@RunWith(Suite.class)

@Suite.SuiteClasses({CalculateTest.class,CalculateTest2.class})
public class SuiteTest {

}

写一个作为测试套件的入口类,这个类里不包含其他的方法。

更改测试运行器Suite.class.

将要测试的类作为数组传入到Suite.SuiteClasses({测试类.class数组})

eg:@RunWith(Suite.class) @Suite.SuiteClasses({TaskTest1.class,TaskTest2.class,TaskTest3.class})

你可能感兴趣的:(javase,必备工具)