【发布时间】:2021-09-30 01:47:12
【问题描述】:
我正在尝试配置我的测试,以便默认情况下不运行其中的一部分,但可以有选择地运行。我在网上找到的这个问题的解决方案建议标记测试子集并在build.sbt 的项目定义中创建自定义配置。
这就是我所拥有的:
val node = project
.in(file("node/instance"))
.dependsOn(...)
.settings(commonSettings("node"): _*)
.settings(
(soliditySources in Compile) ++= Seq(
baseDirectory.value / "src" / "evmTest" / "resources" / "solidity",
baseDirectory.value / "src" / "test" / "resources" / "solidity",
baseDirectory.value / "src" / "precompiledContracts" / "resources" / "solidity"
)
)
val Integration = config("it") extend Test
scalastyleSources in Test ++= { (unmanagedSourceDirectories in Integration).value }
val Benchmarks = config("benchmarks") extend Test
Test / testOptions += Tests.Argument("-l", "iele")
val Iele = config("iele") extend Test
Iele / testOptions -= Tests.Argument("-l", "iele")
Iele / testOptions += Tests.Argument("-n", "iele")
node
.configs(Integration, Benchmarks, EvmTest, PrecompiledContracts, Iele)
.settings(
inConfig(Integration)(
Defaults.testSettings ++ BloopDefaults.configSettings ++ Seq(parallelExecution in Test := false)
): _*
)
.settings(inConfig(Benchmarks)(Defaults.testSettings ++ BloopDefaults.configSettings): _*)
.settings(inConfig(Iele)(Defaults.testSettings ++ BloopDefaults.configSettings): _*)
我的标签是:
object Iele extends Tag("iele")
问题是当我在 sbt shell 中运行 iele:test 时,命令立即返回成功并且没有运行任何测试。我怀疑这是因为测试源文件没有放在专用的iele 文件夹中,但我不想这样做。我正在运行 sbt 版本1.4.9。
【问题讨论】: