微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何完全阻止执行 JUnit 套件?

如何解决如何完全阻止执行 JUnit 套件?

我们正在从我们自己专有的 Java 构建工具转向 gradle。

我们自己的工具使用 ANT 和自定义 org.apache.tools.ant.types.selectors.BaseExtendSelector提取所有使用 JUnit 的 @Test 注释的内容,从而产生了大约 4400 个测试。

运行 gradle test,我发现运行了大约 5000 个测试。

进一步调查显示,我们对 JUnit 的 @Suite 有多种用法

@RunWith(Suite.class)
@Suite.SuiteClasses({
   FooTest.class,BarTest.class,...
})
public class FooBarSuite {
}

其中列出的测试 FooTest,... 都是用 @Test 注释的“普通”单元测试。 所以问题是gradle“找到”了所有@Tests,但也“找到”了所有@Suites,因此运行了两次。

因此:gradle 中是否有一种机制可以简单地忽略执行中的所有 @Suite 类(无需按名称手动指定它们)?

注意:我确实了解 JUnit 类别,但这种方法需要在此处重新编写我们的代码库。我正在寻找一种无需编辑所有套装即可工作的解决方案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。