最佳答案
我通常使用@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> clazz) throws InitializationError {
super(clazz);
}
@Override
public void run(RunNotifier notifier) {
notifier.addListener(new PrintIgnoreRunListener());
super.run(notifier);
}
}
最后一步是注释您的测试类:
@RunWith(MyJUnit4Runner.class)
public class MyTestClass {
// ...
}
如果您使用的是maven和surefire插件,则不需要客户Runner,因为您可以配置surefire以使用自定义侦听器:
figuration>
cme.PrintIgnoreRunListenerfiguration>
原文地址:https://www.jb51.cc/java/437745.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。