加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 忽略JUnit测试

发布时间:2020-12-14 19:12:51 所属栏目:Java 来源:网络整理
导读:我有一个测试,我希望它不应该启动 什么是好的做法:在测试中设置忽略? @Deprecated? 我想不发布它,但是有一条消息告知我应该做出改变以便将来启动它. 最佳答案 我通常使用@Ignore(“评论为什么被忽略”). IMO评论对于其他开发人员来说非常重要,因为他们知

我有一个测试,我希望它不应该启动
什么是好的做法:在测试中设置忽略? @Deprecated?

我想不发布它,但是有一条消息告知我应该做出改变以便将来启动它.

最佳答案
我通常使用@Ignore(“评论为什么被忽略”). IMO评论对于其他开发人员来说非常重要,因为他们知道测试被禁用的原因或持续时间(也许只是暂时的).

编辑:

默认情况下,只有测试运行的信息:…跳过:1 …用于忽略测试.如何打印忽略注释的值?

一种解决方案是制作自定义RunListener

public class PrintIgnoreRunListener extends RunListener {
    @Override
    public void testIgnored(Description description) throws Exception {
        super.testIgnored(description);
        Ignore ignore = description.getAnnotation(Ignore.class);
        String ignoreMessage = String.format(
                "@Ignore test method '%s()': '%s'",description.getMethodName(),ignore.value());

        System.out.println(ignoreMessage);
    }
}

不幸的是,对于正常的JUnit测试,要使用自定义RunListener,需要有一个注册PrintIgnoreRunListener的自定义Runner:

public class MyJUnit4Runner extends BlockJUnit4ClassRunner {

    public MyJUnit4Runner(Class

最后一步是注释您的测试类:

@RunWith(MyJUnit4Runner.class)
public class MyTestClass {
    // ...
}

如果您使用的是maven和surefire插件,则不需要客户Runner,因为您可以配置surefire以使用自定义侦听器:


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读