Nic*_*mas 5 junit sbt parallel-testing
我正在使用sbt和JUnit来运行大型Scala项目的测试.我正在为测试分配多个JVM,并定义如何使用JVM中的测试进行分组testGrouping in Test.
测试是并行运行的,但它们的输出是交错的,因此难以通读.我已经设定了logBuffered in Test := true,但这似乎没有做任何事情.
这是我的一个片段settings:
parallelExecution in Test := true,
testForkedParallel in Test := false,
concurrentRestrictions in Global := Seq(Tags.limit(Tags.ForkedTestGroup, 8)),
testGrouping in Test := (definedTests in Test, javaOptions in Test) map groupBySuite,
testGrouping in Test := {
val original: Seq[Tests.Group] = (testGrouping in Test).value
original.map { group =>
val forkOptions = ForkOptions(
bootJars = Nil,
javaHome = javaHome.value,
connectInput = connectInput.value,
outputStrategy = outputStrategy.value,
runJVMOptions = (javaOptions in Test).value,
workingDirectory = Some(baseDirectory.value),
envVars = envVars.value
)
group.copy(runPolicy = Tests.SubProcess(forkOptions))
}
},
logBuffered in Test := true,
Run Code Online (Sandbox Code Playgroud)
如何让我的测试并行运行,但是输出以某种方式被缓冲并按顺序显示以便它可读?outputStrategy在分叉的JVM选项中是否需要提供一些设置?
这里有一个类似的问题,但我希望让我的测试并行运行.
Mik*_*inn -2
请参阅http://www.scala-sbt.org/1.x/docs/Parallel-Execution.html
parallelExecution in Test控制测试是否映射到单独的任务。要限制所有项目中同时执行的测试的数量,请使用:
concurrentRestrictions in Global += Tags.limit(Tags.Test, 1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
438 次 |
| 最近记录: |