问题描述
我们正在从我们自己专有的 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 (将#修改为@)