Gradle JUnit分叉

时间:2017-10-30 20:36:54

标签: gradle junit fork

我有一个项目,我使用Gradle运行测试,并且我根据构建计算机上的处理器数量将属性maxParallelForks设置为n(某个数字大于1)。在我的情况下,每个测试运行都需要一个生成一次并传递给所有测试的唯一ID。此id以编程方式在测试的基类中生成,并存储在静态变量中。测试检查它是否为null,在这种情况下生成一个新的id(在运行开始时发生),如果不是,则使用现有的id。因此,该特定运行中的所有测试都使用相同的id。

当我在没有maxParallelFors的情况下运行Gradle测试时,它运行正常。但是,通过分叉,我看到每个测试最初都会找到值null,这会提示它生成自己的id。 Gradle是否创建了一个单独的" JVM"每个测试的过程?在Gradle中启用分叉时,似乎不会共享静态变量。我不能将其设置为环境变量,因为它需要以编程方式生成。我该如何解决这个问题?

0 个答案:

没有答案