【问题标题】:Run JUnit tests in parallel并行运行 JUnit 测试
【发布时间】:2011-11-12 08:47:06
【问题描述】:

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

我见过this question,但没有一个答案真正吸引我。它们要么涉及 ant-contrib 的 hack、使用 @RunWith 注释设置的特殊运行器、其他一些特殊注释等。我也知道 TestNG,但我不能让 Eclipse 插件迁移我们的测试 - 和我们有大约 10,000 个,所以我不是手动做的!

Gradle 不需要这些东西,那么我如何在 ant 中做到这一点?我猜 Gradle 使用了一个特殊的运行器,但如果是这样,它是作为 JUnit 设置的一部分设置的,并且在每个测试中都没有提到。如果是这样的话,那很好。我只是不想去修改c。 10,000 个单元测试!

【问题讨论】:

    标签: ant junit gradle


    【解决方案1】:

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

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

    【讨论】:

    • 嗯,这是一个有趣的想法。老实说,我很惊讶 Ant 中不存在这样的东西。
    • @dty 6 年了,你最近有没有找到方法或发现什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 2022-10-18
    • 2013-08-23
    • 2010-09-30
    相关资源
    最近更新 更多