如Nifty JUnit:使用临时文件一文中所示 ,可以在JUnit测试中使用@Rule ,这是方法级别的规则。 在此示例中,我想显示@ClassRule用于类级别规则的变体。

方法规则

@Rule在测试类的每个测试方法(就像@Before )之前以及在测试类的每个测试方法(就像@After之后)之后被激发,如下例所示。

JUnitRuleTest

package com.jdriven;import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;import java.io.File;
import java.io.IOException;public class JUnitRuleTest {//The Folder will be created before each test method and (recursively) deleted after each test method.@Rulepublic TemporaryFolder temporaryFolder = new TemporaryFolder();@Testpublic void testJUnitRule() throws IOException {File tempFile = temporaryFolder.newFile("tempFile.txt");//Your test should go here.}
}

班级规则

除了常规的@Rule之外,我们还可以创建一个@ClassRule 。 在TemporaryFolder的示例中,这将导致在所有测试方法(就像@BeforeClass )之前创建一个文件夹,并在所有测试方法(就像@AfterClass一样)之后销毁该文件夹。 在下面的示例中,您可以创建一个临时文件,并在所有测试方法中使用完全相同的文件。 完成所有测试方法后,该临时文件将被删除。

JUnitClassRuleTest

package com.jdriven;import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;import java.io.File;
import java.io.IOException;public class JUnitClassRuleTest {//The Folder will be (recursively) deleted after all test.@ClassRulepublic static TemporaryFolder temporaryFolder = new TemporaryFolder();public static File tempFile;@BeforeClasspublic static void createTempFile() throws IOException {tempFile = temporaryFolder.newFile("tempFile.txt"); //The tempFile will be deleted when the temporaryFolder is deleted.}@Testpublic void testJUnitClassRule_One() {//Your test should go here, which uses tempFile}@Testpublic void testJUnitClassRule_Two() {//Your test should go here and uses the same tempFile}
}

翻译自: https://www.javacodegeeks.com/2015/03/nifty-junit-using-rule-on-method-and-class-level.html

Nifty JUnit:在方法和类级别上使用规则相关推荐

  1. nifty ui_Nifty JUnit:在方法和类级别上使用规则

    nifty ui 如Nifty JUnit:使用临时文件一文中所示 ,可以在JUnit测试中使用@Rule ,这是方法级别的规则. 在此示例中,我想显示@ClassRule用于类级别规则的变体. 方法 ...

  2. ICCV 2021 Oral | 基于点云的类级别刚体与带关节物体位姿追踪

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 导  读 本文是计算机视觉领域顶级会议 ICCV入选论文<基于点云的类级别刚体与带关节物体位姿追 ...

  3. java preference,Java使用Preference类保存上一次记录的方法

    本文实例讲述了Java使用Preference类保存上一次记录的方法.分享给大家供大家参考.具体分析如下: 在使用java中JFileChooser选择文件的时候,我们总希望在下次打开的时候能保存上次 ...

  4. preference java_Java使用Preference类保存上一次记录的方法

    本文实例讲述了Java使用Preference类保存上一次记录的方法.分享给大家供大家参考.具体分析如下: 在使用java中JFileChooser选择文件的时候,我们总希望在下次打开的时候能保存上次 ...

  5. JavaSE学习总结(八)常用类(上)Object类==与equals方法的区别浅克隆的特点Scanner类String类String两种创建对象方式的区别String类的各种功能

    JavaSE学习总结(八)常用类(上)/Object类/==与equals方法的区别/浅克隆的特点/Scanner类/String类/String两种创建对象方式的区别/String类的各种功能 常用 ...

  6. 史上最全讲解:JAVA中的方法 数组 类

    史上最全讲解:JAVA中的数组 方法 面向对象 文章目录 史上最全讲解:JAVA中的数组 方法 面向对象 数组 数组的定义: 数组的特点: 数组的初始化: 数组的遍历: 从前到后拿到每一个数据 方法 ...

  7. fileitem方法_FileItem类的getContentType ()方法,用于获得上传文件的类型。_学小易找答案...

    [判断题]我们经常调用createItem()方法将请求消息实体创建成FileItem实例对象. [单选题]下面用于判断FileItem类对象封装的数据是否为普通文本表单字段的方法是() [单选题]关 ...

  8. fileitem方法_FileItem类的常用方法(关于文件上传的)

    1.boolean  isFormField().isFormField方法用来判断FileItem对象里面封装的数据是一个普通文本表单字段,还是一个文件表单字段.如果是普通文本表单字段,返回一个tr ...

  9. java查看对象锁级别_对象级别锁 vs 类级别锁(Java)

    前言 对于多线程(并发)和Spring Boot这两块在同步进行学习中,在看到使用synchronized关键字使操作同步时,看到和C#中不一样的东西,所以这里呢,就深入学习了下,若有错误之处,还望指 ...

最新文章

  1. 进程的同步、互斥以及PV原语
  2. 如何优雅的实现 try/catch 异常块?
  3. 安装python及web.py
  4. 【控制】《多无人机协同控制技术》周伟老师-第1章-无人机协同控制技术概述
  5. bme280 环境传感器开发板_STM32Cube14 | 使用硬件I2C读写环境光强度传感器
  6. PTA-7-8 删除重复字符 (20分)(C语言)
  7. spring mvc: xml练习
  8. unity矩阵运算,数学计算
  9. android 进入三方应用动画,Android 动画各种实现总结分享 AndroidAnimationExercise
  10. Python SVM手写数字识别
  11. 51单片机流水灯现象2
  12. Miracle - Database Knowledge center
  13. linux系统自动获取ip地址,Linux系统下设置静态IP或自动获取动态IP的简单方法
  14. cmake中添加引用动态链接_CMake 添加头文件目录,链接动态、静态库(添加子文件夹)...
  15. win7计算机管理找不到文件夹,win7文件夹选项不见了怎么办|win7恢复文件夹选项的方法...
  16. 博科交换机获取License的方法
  17. asp前端日历_asp日历-和asp日历相关的内容-阿里云开发者社区
  18. 小公司的大企业病,一定要根治
  19. 如本科技发布超大视野3D工业相机,用于物流、汽车制造大视野拆码垛、搬运场景
  20. c++win32项目 如何显示后再删除一个绘图_CAD快速绘图,不可不知的50个经典技巧,看完不迷茫!...

热门文章

  1. arrylist和linked list区别
  2. bean交个spring和new比较区别
  3. 按钮右对齐_Python Tkinter Button按钮
  4. php accesscontrolalloworigin,设置Access-Control-Allow-Origin实现跨域访问
  5. 8.1-CPU结构(学习笔记)
  6. 通用数据库管理工具_了解为什么这个直观的工具是您团队的通用团队管理工具...
  7. java rop_Java命令行界面(第23部分):Rop
  8. java动态代理_Java动态代理
  9. cks32和stm32_cks子,间谍,局部Mo子和短管
  10. primefaces_使用Bean验证扩展PrimeFaces CSV