我使用SBT 0.13.1 并希望并行运行ScalaTest测试套件(不是每个套件中的测试)。
我不设置了parallelExecution in Test := false
,但看起来测试套件是按顺序运行的。
我做的实验是:
class BlahSuite extends FunSuite {
test("run 1") {
println("running one")
Console.err.flush()
Console.out.flush()
Thread.sleep(10000)
}
}
class Blah2Suite extends FunSuite{
test("run 2") {
println("running two")
Console.err.flush()
Console.out.flush()
Thread.sleep(10000)
}
}
我在running two
后10秒钟看到running one
,这让我相信run 2
在run 1
完成之前没有开始。
答案 0 :(得分:0)
我不确定你的做法有何不同,我使用Scala 2.10.3将你的代码复制到一个空的SBT项目(0.13.1)中,默认情况下并行运行,请参阅我的输出:
running one
running two
[info] Blah2Suite:
[info] - run 2
[info] BlahSuite:
[info] - run 1
[info] Run completed in 10 seconds, 278 milliseconds.
[info] Total number of tests run: 2
[info] Suites: completed 2, aborted 0
[info] Tests: succeeded 2, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
[success] Total time: 11 s, completed Mar 21, 2014 11:58:24 AM
使用ScalaTest版本2.1.0和2.0进行尝试。