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. 【Qt开发】QTableWidget设置根据内容调整列宽和行高

    QTableWidget要调整表格行宽主要涉及以下一个函数 1.resizeColumnsToContents();                      根据内容调整列宽            ...

  2. c语言l博客作业11

    问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/8655 我在 ...

  3. poj3252(数位dp)(模板)

    题目链接:https://vjudge.net/problem/POJ-3252 题意:求[l,r]之间的Round Number数,RN数即化为二进制后0的个数不少于1的个数的数. 思路:之前用组合 ...

  4. windows如何使用bat快速安装计划任务?

    关键词:windows定时任务,schtasks,at ,bat schtasks 部分转自: https://www.cnblogs.com/yumianhu/p/3710743.html at的详 ...

  5. Spark中的术语图解总结

    参考:http://www.raincent.com/content-85-11052-1.html 1.Application:Spark应用程序 指的是用户编写的Spark应用程序,包含了Driv ...

  6. python requests的content和text方法的区别【转】

    requests对象的get和post方法都会返回一个Response对象,这个对象里面存的是服务器返回的所有信息,包括响应头,响应状态码等.其中返回的网页部分会存在.content和.text两个对 ...

  7. 组合&多态&封装

    目录 组合&多态&封装 一.组合 1.1什么是组合 1.2 为什么要用组合 1.3 如何使用组合 1.4 继承和组合都在什么时候用 二.多态与多态性 2.1 什么是多态 2.2 如何用 ...

  8. mysql小数和类型转换函数

    保留两位小数 SELECT ROUND( 123456789.3563898,2),TRUNCATE(123456789.3563898,2),FORMAT(123456789.3563898,2); ...

  9. Jmeter读取CSV文件,请求参数乱码

    Jmeter读取CSV文件,请求参数乱码 1.修改本地配置文件,jmeter.properties,修改以下配置项 sampleresult.default.encoding=UTF-8 重启Jmet ...

  10. 用python实现js语言里的特性

    有大佬说:“搜 arraybuffer 的 polyfill 然后翻译成 python就行了” ...