Я использую sbt и JUnit для запуска тестов для большого проекта Scala. Я тестирую forking multiple JVMs и определяю, как тесты должны быть сгруппированы в 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,
Как я могу держать мои тесты работает параллельно, но есть выход как-то буферизация и отображаются в порядке, так что читаем? Может быть, некоторые настройки мне нужно подавать до outputStrategy
в разветвленных вариантах JVM?
Существует a similar question here, но я хочу, чтобы мои тесты работали параллельно.