nhe*_*eid 2 java junit annotations test-runner
我正在使用JUnit 4.11,扩展了BlockJUnit4ClassRunner并使用了自定义注释.如果注释与某个参数一起出现,则不会运行测试.
除了这种情况之外,这种方法很好,即类中的所有测试都被过滤掉,但是自定义测试运行器.
基本上完全如本文所述:JUnit4根据自定义java注释跳过测试
我尝试了这篇文章中提到的变通方法:JUnit:如何在test utils类中避免"没有runnable方法"
如果我引入了一个虚拟测试,那么至少有一个测试,总会运行,一切都很好.如果没有运行所有测试,因为它们都有注释,我将得到"No runnable methods"异常.
我可以接受解决方法,但应该有更好的方法.我很感谢任何指针或解释我做错了什么或如何改善这种情况.
由于执行验证,validateInstanceMethods因为computeTestMethods()返回一个空List ,因此会出现此错误:
protected void validateInstanceMethods(List<Throwable> errors) {
validatePublicVoidNoArgMethods(After.class, false, errors);
validatePublicVoidNoArgMethods(Before.class, false, errors);
validateTestMethods(errors);
if (computeTestMethods().size() == 0)
errors.add(new Exception("No runnable methods"));
}
Run Code Online (Sandbox Code Playgroud)
您可以覆盖此方法并删除大小验证或添加您自己的验证,这将考虑带注释的测试方法.
请注意,此方法@Deprecated将在以后的版本中删除.