5

大規模な Scala プロジェクトのテストを実行するために sbt と JUnit を使用しています。テスト用に複数の JVM をフォークし、.NET を使用して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 オプションでフィードする必要がある設定がおそらくありますか?

here に同様の質問がありますが、テストを並行して実行したいと考えています。

4

1 に答える 1