并行运行JUnit测试

dty*_*dty 5 ant junit gradle

运行单元测试时,Gradle可以并行执行多个测试,而无需对测试本身进行任何更改(即特殊注释,测试运行器等).我想用蚂蚁做同样的事情,但我不确定如何.

我已经看到了这个问题,但没有一个答案对我很有吸引力.它们要么涉及使用ant-contrib的hacks,使用@RunWith注释设置的特殊运行器,一些其他特殊注释等等.我也知道TestNG,但我不能让Eclipse插件迁移我们的测试 - 和我们有大约10,000个,所以我不是手工做的!

Gradle不需要任何这些东西,所以我如何在蚂蚁中做到这一点?我猜Gradle使用了一个特殊的跑步者,但如果是这样的话,它会被设置为JUnit设置的一部分,并且在每次测试中都没有提到.如果是这样,那就没关系.我真的不想去修改c.10,000单元测试!

Pet*_*ser 6

从严格意义上讲,Gradle不使用特殊的JUnit运行器.它"简单地"有一个复杂的测试任务,它知道如何启动多个JVM,在每个JVM中运行测试类的子集(通过调用JUnit),并将结果报告给执行构建的JVM.在那里聚合结果使其看起来像单JVM,单线程测试执行.这甚至适用于定义自己的测试侦听器的构建.

要在Ant中获得并行测试执行,您需要一个支持此功能的Ant任务(不确定是否存在).另一种方法是将Ant构建导入Gradle(ant.importBuild "build.xml")并在Gradle端添加测试任务.