JUnit:如何避免测试utils类中的“无可运行方法”

2022-08-31 08:56:00

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

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

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

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

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


答案 1

使用@Ignore注释 util 类。这将导致 JUnit 不尝试将它们作为测试运行。


答案 2

我的具体情况如下。我们的测试

public class VenueResourceContainerTest extends BaseTixContainerTest

全部扩展

BaseTixContainerTest

JUnit试图运行BaseTixContainerTest。可怜的BaseTixContainerTest只是试图设置容器,设置客户端,订购一些比萨饼并放松...男人。

如前所述,您可以使用

@Ignore

但这导致 JUnit 将该测试报告为已跳过(而不是完全忽略)。

Tests run: 4, Failures: 0, Errors: 0, Skipped: 1

这让我很恼火。

所以我把BaseTixContainerTest抽象出来了,现在JUnit真的忽略了它。

Tests run: 3, Failures: 0, Errors: 0, Skipped: 0