我已经从 JUnit3.8 切换到 JUnit4.4。我使用 ant 运行我的测试,我的所有测试都成功运行,但测试实用程序类失败并出现“无可运行方法”错误。我使用的模式是在测试文件夹下包含名称为 *Test* 的所有类。
我知道跑步者找不到任何用 @Test 属性注释的方法。但它们不包含此类注释,因为这些类不是测试。令人惊讶的是,当在 Eclipse 中运行这些测试时,它不会抱怨这些类。
在 JUnit3.8 中,这根本不是问题,因为这些实用程序类没有扩展 TestCase,因此运行器不会尝试执行它们。
我知道我可以在 ant 脚本的 junit 目标中排除这些特定类。但我不想在我添加的每个新实用程序类上更改构建文件。我也可以重命名课程(但给课程起好名字一直是我最薄弱的天赋:-))
这个问题有什么优雅的解决方案吗?
原文由 LiorH 发布,翻译遵循 CC BY-SA 4.0 许可协议
假设您可以控制用于查找测试类的模式,我建议将其更改为匹配
*Test
而不是*Test*
。这样TestHelper
不会匹配,但是FooTest
会。