JUnit之Rule的使用

这篇博客介绍了JUnit中的Rule特性,主要用于在测试前后插入辅助代码。Rule是一个公共非静态域,需继承自MethodRule(JUnit4.9后被TestRule取代)。文章引用了Kent Beck的Interceptor概念,并说明了MethodRule和TestRule的apply方法区别。
摘要由CSDN通过智能技术生成

简介JUnit之Rule的简单用法。为分析JUnit相关源代码做点准备。

Rule是一个用于测试单元类如MyTest中定义一个域的标注,该域must be public, not static, and a subtype of  org.junit.rules.MethodRule

package org.junit;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
public @interface Rule {
}

Kent Beck曾经写过一篇文章<Interceptors in JUnit>,虽然最后叫Rule,但仍然起拦截器/Interceptor的作用——即在运行测试的前后添加一些有用的代码。

【注:JUnit4.9开始,MethodRule被deprecated,TestRule取代它。MethodRule接口定义的唯一方法:

Statement apply(Statement base, FrameworkMethod method, Object target);

TestRule的对应物:

Statement apply(Statement base, Description description);

】

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值