• JUnit——Annotation


    Annotation是对属性,方法或者类做一个标记  比如@override表示复写了父类中的方法


    【1】@Test: 测试方法(说明该方法为测试方法)
    a)(expected=XXException.class)
    b)(timeout=xxx)

    @Test(expected=java.lang.ArithmeticException.class,timeout=100)
     //期待抛出算术异常,并且运行时间限制在100ms以内(通常在测试代码运行效率时这样设置)
      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不同,一个是全局,一个是局部,比如与数据库的链接,肯定是在全局操作之前搭建好,不能执行每个方法的时候都搭建一次,这样的话效率就太低了。
  • 相关阅读:
    Javaweb中的监听器
    Maven
    Ajax
    jQuery
    Spring入门
    spring boot实战——微信点餐系统02:接口信息,分页工具,gson, 注解信息,表单验证,字段返回(时间处理,null处理)
    Nginx
    Spring Data JPA
    spring boot实战——微信点餐系统01:开始代码
    spring boot实战——微信点餐系统00:项目设计,环境搭建
  • 原文地址:https://www.cnblogs.com/yedushusheng/p/4354518.html
Copyright © 2020-2023  润新知