【发布时间】:2020-05-29 10:19:11
【问题描述】:
我希望能够使用命令行在并行和串行执行 scala 测试之间切换。
带有“test.par”系统属性的工作示例:
val parallelTestOpt = Option(System.getProperty("test.par"))
testOptions in IntegrationTest += Tests.Argument(
//Configure distributor's pool size
parallelTestOpt.map(count =>s"-P$count").getOrElse("-P1")
)
lazy val root = (project in file("."))
.configs(IntegrationTest)
.settings(Defaults.itSettings,
//If suites are executed in parallel
IntegrationTest / parallelExecution := parallelTestOpt.exists(_ != "1"),
IntegrationTest / testForkedParallel := parallelTestOpt.exists(_ != "1")
)
“有问题的”部分是parallelTestOpt.map(count =>s"-P$count").getOrElse("-P1")。当未指定“test.par”属性时,我不想提供默认值“-P1”。实现这一目标的最佳做法是什么?
也许整个概念是错误的,我应该以不同的方式来做?
【问题讨论】:
标签: scala sbt integration-testing scalatest