您的位置:首页 > 其它

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

2016-02-19 17:39 232 查看
@Test: 将一个 普通的方法修饰成为一个测试方法

@Test(timeout = 3000)

1、
终止死循环,当达到设定的值,结束循环


[code]@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、测试方法执行时间是否在预期时间内

[code]@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));

}





2秒在3秒内,测试通过



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

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

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

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

@Ignore 所修饰的测试方法会被测试运行器忽略




@RunWith: 可以修改测试运行器 org.junit.runner.Runner(默认运行器)

测试套件就是组织测试类一起运行的

@RunWith(Suite.class)

[code]@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})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: