运行单元测试时,Gradle可以并行执行多个测试,而无需对测试本身进行任何更改(即特殊注释,测试运行器等)。我想用蚂蚁做同样的事情,但我不确定如何。
我见过this question,但没有一个答案对我很有吸引力。它们要么涉及使用ant-contrib的hacks,使用@RunWith注释设置的特殊运行器,一些其他特殊注释等等。我也知道TestNG,但我不能让Eclipse插件迁移我们的测试 - 和我们有大约10,000个,所以我不是手工做的!
Gradle不需要任何这些东西,所以我该怎么做蚂蚁?我猜Gradle使用了一个特殊的跑步者,但如果是这样的话,它会被设置为JUnit设置的一部分,并且在每次测试中都没有提到。如果是这样,那就没关系。我真的不想去修改c。 10,000单元测试!
答案 0 :(得分:6)
严格意义上,Gradle不使用特殊的JUnit运行器。它“简单地”有一个复杂的测试任务,它知道如何启动多个JVM,在每个JVM中运行测试类的子集(通过调用JUnit),并将结果报告给执行构建的JVM。在那里聚合结果使其看起来像单JVM,单线程测试执行。这甚至适用于定义自己的测试监听器的构建。
要在Ant中获得并行测试执行,您需要一个支持此功能的Ant任务(不确定是否存在)。另一种方法是将Ant构建导入Gradle(ant.importBuild "build.xml"
)并在Gradle端添加测试任务。