【问题标题】:Forking each ScalaTest suite with sbt使用 sbt 分叉每个 ScalaTest 套件
【发布时间】:2020-07-19 04:18:42
【问题描述】:

我必须运行一些集成测试,并且我希望每个测试套件都在其自己的分叉 VM 上运行。不同的套件应该按顺序运行,每个套件内的测试也应该按顺序运行。

这是否可以通过 sbt / scalatest 实现而无需过多修改?我知道我可以在分叉的 VM 中运行整个测试套件,但这对我的需求来说太少了。

【问题讨论】:

    标签: scala sbt scalatest


    【解决方案1】:

    经过一番挖掘,这似乎可以解决问题。每个套件都将在一个分叉实例上运行:

    fork in Test := true
    testGrouping in Test := (definedTests in Test).value.map { suite =>
      Group(suite.name, Seq(suite), SubProcess(ForkOptions()))
    }
    

    虽然definedTests 看起来像是在获取测试列表,但它实际上是在获取测试套件列表。然后,对于它们中的每一个,我们将只传递一个SubProcess,它告诉 sbt 分叉该进程。

    【讨论】:

      猜你喜欢
      • 2020-07-16
      • 2015-04-29
      • 1970-01-01
      • 2014-05-02
      • 1970-01-01
      • 2014-04-28
      • 2017-05-22
      • 2019-06-09
      • 2018-02-07
      相关资源
      最近更新 更多