junit - 在使用 gradle --parallel 运行测试时按顺序运行两个测试类

标签 junit gradle

我们有两个不同的测试类(每个类都包含多个测试方法),它们在并行运行和在同一个 jvm 进程中时可能会相互影响。我知道这听起来很糟糕,但目前我们没有简单的解决方案来分离这两个测试类。

如何指定这两个测试类的运行顺序(使它们按顺序运行)而我仍然希望使用 gradle --parallel 并行执行测试?非常感谢。

[更新]:

我有以下配置

test {
// maxParallelForks=8
testLogging.showStandardStreams=true

    exclude '**/ATests.scala'
    exclude '**/BTests.scala'
}

task runATests(type: Test) {
    include '**/ATests.scala'
}

task runBTests(type: Test) {
    include '**/BTests.scala'
}

我如何验证 ATests 和 BTests 是在不同的测试 JVM 中实际运行的,从日志来看,似乎没有
这方面的相关信息?谢谢

最佳答案

根据Gradle documentation测试总是在单独的 jvm 进程中运行。因此,当两个测试在不同的项目中并并行运行时,您应该没有问题。

如果它们在同一个项目中,它们不应该并行运行,因为 gradle 只并行构建不同的项目,但每个项目本身都是顺序的(尤其是测试)。

在这两种情况下,你都应该没问题。

如果您想并行化您的测试,您可以查看 TestNG ,它支持并行测试和依赖项。转换通常不会耗时,基本上修复所有导入(注释名称相同)并使用测试创建和 xml 套件文件。

关于junit - 在使用 gradle --parallel 运行测试时按顺序运行两个测试类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17667545/

相关文章:

android - FaSTLane beta lane 无法在 android Flutter 中创建应用构建

java - 似乎无法让 Lombok 在单元测试中工作

java - 由于服务器一旦接受连接就会阻塞,我应该如何一起测试客户端和服务器?

java - 来自 JAR 的 Spring 依赖注入(inject)

gradle - 如何将外部 jar 文件添加到 gradle 构建脚本

java - 安卓工作室 : Could not get unknown property 'kotlin_version'

gradle - 如何修复Tavis构建中的权限被拒绝问题

Android单元测试没有被 mock

java - Grizzly 单元测试中的 Jersey 出现异常

android - 如何设置不在项目的 gradle.properties 中的代理设置?