Annotation是对属性,方法或者类作一个标记 好比@override表示复写了父类中的方法java
【1】@Test : 测试方法(说明该方法为测试方法)
a)(expected=XXException.class)
b)(timeout=xxx)
@Test(expected=java.lang.ArithmeticException.class,timeout=100)
//期待抛出算术异常,而且运行时间限制在100ms之内(一般在测试代码运行效率时这样设置)spring
public void testDivide(){
int z = new T().divide(8,0);
//assertThat(z,is(4));
}
【2】@Ignore : 被忽略的测试方法
有时候某些方法还不具有测试的条件,暂时还不能测试或者某些方法已经不须要再作测试了,这就能够进行忽略的操做了。
有时方法的测试条件还没知足,整个项目还差一个模块,则能够采用该方法假定测试条件成立。数据库
【3】@Before: 每个测试方法(@Test方法)以前运行
4.@After: 每个测试方法以后运行
应用场合:
有些方法须要执行的时候须要一些先决条件,好比打开某文件,执行完以后须要关闭文件,这就须要before和after操做。
5.@BeforeClass: 全部测试开始以前运行
6.@AfterClass: 全部测试结束以后运行
@BeforeClass
public static void BeforeClass(){
System.out.println("beforeclass");
}
@AfterClass
public static void AfterClass(){
System.out.println("afterclass");
}
若是方法不声明为static,则运行后会报错,以下:
java.lang.Exception: Method BeforeClass() should be static
注意:这里方法必定是static,缘由在于调用该方法的时候是在全部的类未进行初始化以前进行的,所以只能是静态的。
应用场合:
用在一些当咱们在测试以前须要取得一些很耗费时间的资源的时候,或者是须要搭载一些比较耗费时间的配置环境(创建与数据库的链接,搭建数据库链接池;搭建spring环境)的时候,用BeforeClass。须要把资源释放掉或环境卸载掉时,用AfterClass。
Beforeclass与before不一样,一个是全局,一个是局部,好比与数据库的连接,确定是在全局操做以前搭建好,不能执行每一个方法的时候都搭建一次,这样的话效率就过低了。ide