设置Gradle测试的系统属性

时间:2015-02-28 10:48:41

标签: gradle

我有一个应用程序,其中每个测试都应该在VM中运行,其配置已经由特定于测试的System属性(可以仅基于测试类名称)进行调整。

那种这样的东西:

test {
  forkEvery 1
  maxParallelForks Runtime.runtime.availableProcessors()

  beforeSuite { TestDescriptor descriptor ->
     systemProperty( 'test.class.name', descriptor.getClassName() )
  }
}

但它不太有用。分叉的JVM看到的名称确实发生了变化,但它们并不是我所期望的,我怀疑它们甚至都不具有确定性。似乎有一个共享JavaForkOptions项,并且对beforeSuite的调用不是与该套件的进程分支相关联的确定性和排他性方式,因此进程得到的名称可能与“{”beforeSuite来电中设置的匹配不匹配。

有没有更好的方法来执行此操作,或者某种方式来更精确地控制分叉过程,以便可以在特定于fork的数据结构上设置系统属性?

感谢您的帮助!

0 个答案:

没有答案
相关问题