如何完全阻止执行 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 (将#修改为@)