JUnit:如何避免测试实用程序类中的“无可运行方法”

新手上路,请多包涵

我已经从 JUnit3.8 切换到 JUnit4.4。我使用 ant 运行我的测试,我的所有测试都成功运行,但测试实用程序类失败并出现“无可运行方法”错误。我使用的模式是在测试文件夹下包含名称为 *Test* 的所有类。

我知道跑步者找不到任何用 @Test 属性注释的方法。但它们不包含此类注释,因为这些类不是测试。令人惊讶的是,当在 Eclipse 中运行这些测试时,它不会抱怨这些类。

在 JUnit3.8 中,这根本不是问题,因为这些实用程序类没有扩展 TestCase,因此运行器不会尝试执行它们。

我知道我可以在 ant 脚本的 junit 目标中排除这些特定类。但我不想在我添加的每个新实用程序类上更改构建文件。我也可以重命名课程(但给课程起好名字一直是我最薄弱的天赋:-))

这个问题有什么优雅的解决方案吗?

原文由 LiorH 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 567
2 个回答

假设您可以控制用于查找测试类的模式,我建议将其更改为匹配 *Test 而不是 *Test* 。这样 TestHelper 不会匹配,但是 FooTest 会。

原文由 Jon Skeet 发布,翻译遵循 CC BY-SA 2.5 许可协议

使用@Ignore 注释您的实用程序类。这将导致 JUnit 不尝试将它们作为测试运行。

原文由 JoelPM 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题