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不同,一个是全局,一个是局部,比如与数据库的链接,肯定是在全局操作之前搭建好,不能执行每个方法的时候都搭建一次,这样的话效率就太低了。

JUnit——Annotation的更多相关文章

  1. Java Unit Testing - JUnit & TestNG

    转自https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaUnitTesting.html yet another insignifican ...

  2. JUnit & JMockit单元测试

    JUnit&JMockit单元测试总结 1.JUnit简介 Java单元测试框架业内应用较多的是JUnit,它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的 ...

  3. Android单元测试与模拟测试详解

    测试与基本规范 为什么需要测试? 为了稳定性,能够明确的了解是否正确的完成开发. 更加易于维护,能够在修改代码后保证功能不被破坏. 集成一些工具,规范开发规范,使得代码更加稳定( 如通过 phabri ...

  4. Java中测试异常的多种方式

    使用JUnit来测试Java代码中的异常有很多种方式,你知道几种? 给定这样一个class. Person.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  5. JUnit4基础 使用JUnit4进行单元测试

    JUnit 4全面引入了Annotation来执行我们编写的测试. 关于JUnit 3的使用可以参见:http://www.cnblogs.com/mengdd/archive/2013/03/26/ ...

  6. nGrinder TestRunner http post json

    s nGrinder学习笔记 — post请求 https://blog.csdn.net/meyoung01/article/details/50435881 import HTTPClient.H ...

  7. nGrinder TestRunnerBarrier.groovy / jihedian

    s import net.grinder.script.Barrier import net.grinder.script.GTest import net.grinder.scriptengine. ...

  8. script nGrinder_TestRunnerInsertMysqlSingle.groovy

    s 阿里巴巴Java开发规范手册.zip http://dl.iteye.com/topics/download/ffc4ddcf-8b65-3b3c-b146-96468e2baf40 /** 关于 ...

  9. nGrinder TestRunnerInsertMysqlSingle.groovy

    s C:\Users\Lindows\workspace\GroovyTest\src\com\iteye\lindows\mysql\TestRunnerInsertMysqlSingle.groo ...

随机推荐

  1. 简述在Js或Vue中监听页面的刷新、关闭操作

    1.背景 大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统.信息录入系统等就经常会有这一些提示,避免用户有意或者无意中关掉了页面,导致数据丢失.而最近在做项 ...

  2. hbase 查看hfile文件

    emp表数据结构 hbase(main):098:0> scan 'emp' ROW COLUMN+CELL row1 column=mycf:depart, timestamp=1555846 ...

  3. springboot - 应用实践(2)第一个springboot应用

    1.使用maven创建一个快速启动项目 2.引入相关依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x ...

  4. Spring(七)--Spring JDBC

    Spring JDBC 1.需要的实体类和数据库 2.需要的dao层 package com.xdf.dao; import com.xdf.bean.Student; import org.spri ...

  5. 一台 Java 服务器可以跑多少个线程?

    一台Java服务器能跑多少个线程? 这个问题来自一次线上报警如下图,超过了我们的配置阈值. 京东自研UMP监控分析 打出jstack文件,通过IBM Thread and Monitor Dump A ...

  6. oracle sid_name service_name

    在工作中也遇到了这种情况,使用oracle这么长时间一直使用的都是SID的概念.也是给自己扩充了一下知识,所以后面在配置oracle数据库连接的时候需要确认拿到的是service还是sid再进行相应的 ...

  7. QQ音乐爬虫

    #今日目标 **QQ音乐爬虫** 今天要爬取的是QQ音乐任意歌手的所有音乐歌词,因为笔者是周杰伦的忠实粉丝,所以专门写了个爬虫来爬取他的音乐的歌词,因为他的音乐在咪咕音乐可以听,所以便没有去爬取. 好 ...

  8. 2018icpc宁夏邀请赛网络赛_G_Trouble of Tyrant

    题意 一列\(n\)个点,给定一个特殊的图,有两种边\(E(1,i)\)和\(E(i-1,i)\),多个询问,每次给一个\(d\),求所有路径长度加上\(d\)后1到\(n\)的最短路. 分析 首先这 ...

  9. spring boot 是如何加载jackson的?

    Spring Boot 自动引入jackson: 通过:Spring-Boot-starter-web Jackson自动配置 这里的configurations是读取的这里: 通过反射加载Jacks ...

  10. 13.AutoMapper 之映射前后(Before and After Map Action)

    https://www.jianshu.com/p/1ff732094f21 映射前后(Before and After Map Action) 你可能偶尔需要在映射发生前后执行自定义逻辑.这应该很少 ...