Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant 并行运行JUnit测试_Ant_Junit_Gradle - Fatal编程技术网

Ant 并行运行JUnit测试

Ant 并行运行JUnit测试,ant,junit,gradle,Ant,Junit,Gradle,在运行单元测试时,Gradle可以并行执行多个测试,而无需对测试本身进行任何更改(即特殊注释、测试运行程序等)。我想用ant实现同样的目标,但我不确定如何实现 我见过,但没有一个答案真正吸引我。它们要么涉及ant contrib的黑客攻击,要么涉及@RunWith注释设置的特殊运行程序,还有其他一些特殊注释,等等。我也知道TestNG,但我不能让Eclipse插件迁移我们的测试——我们有大约10000个这样的测试,所以我不是手工完成的 Gradle不需要这些东西,所以我在ant中怎么做?我猜Gr

在运行单元测试时,Gradle可以并行执行多个测试,而无需对测试本身进行任何更改(即特殊注释、测试运行程序等)。我想用ant实现同样的目标,但我不确定如何实现

我见过,但没有一个答案真正吸引我。它们要么涉及ant contrib的黑客攻击,要么涉及@RunWith注释设置的特殊运行程序,还有其他一些特殊注释,等等。我也知道TestNG,但我不能让Eclipse插件迁移我们的测试——我们有大约10000个这样的测试,所以我不是手工完成的


Gradle不需要这些东西,所以我在ant中怎么做?我猜Gradle使用了一个特殊的runner,但如果是这样的话,它是作为JUnit设置的一部分设置的,而不是在每个测试中都提到。如果是这样,那没关系。我真的不想去修改c。10000个单元测试

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


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

Hmmm,这是一个有趣的想法。老实说,我很惊讶这样的事情在蚂蚁身上还不存在。@dty已经6年了,你最近有没有找到方法或发现什么?