gpt4 book ai didi

scala - 在 Play 2.4 scala 中禁用单个测试

转载 作者:行者123 更新时间:2023-12-01 13:48:19 25 4
gpt4 key购买 nike

我的项目中有一些长时间运行的测试。这些与我在

中的集成和单元测试并行进行
/test/manual/*

Play 2.4 for Scala 中是否有禁用/标记这些测试类的方法。因此它们不会在以下情况下自动运行

$ activator test

但仅在使用 test-only 命令时运行。

问题是我不想在我的 CI 服务器上运行这些较长的测试。

最佳答案

对于长时间运行的集成测试有类似的问题,我创建了一个 It从标准测试配置派生的配置(在 <projectHome>/build.sbt 中):

lazy val It = config("it").extend(Test)

然后我将源和测试源添加到此配置

scalaSource in It <<= (scalaSource in Test)

并且您需要启用配置和当前项目中可用的相应任务

lazy val root = (project in file(".")).configs(It)
.settings(inConfig(It)(Defaults.testTasks): _*)

然后我在 Test 中禁用长时间运行的测试配置:

testOptions in Test := Seq(Tests.Argument("exclude", "LongRunning"))

并且只在 It 中包含这些长时间运行的测试配置:

testOptions in It := Seq(Tests.Argument("include", "LongRunning"))

最后两个配置有点依赖于您使用的测试框架(在我的例子中是 specs2,scala 测试可能会使用 -n and -l 除了 tags 来实现相同的目的)

然后sbt test将排除所有 LongRunning 测试,您可以运行 it:testit:testOnly your.long.running.TestCaseHere如果需要,在交互式 sbt session 中。

关于scala - 在 Play 2.4 scala 中禁用单个测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34046035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com