JUnit——Annotation

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

相关文章
相关标签/搜索