【发布时间】:2017-01-29 21:10:56
【问题描述】:
尝试从sbt- 运行我的所有测试同时排除特定标签时,我感到非常沮丧。这是我要运行的内容:
testOnly * -- -l "com.my.project.path.tags.ValidationTest"
我尝试了此命令的许多变体,包括将 * 替换为类的路径或包的路径,如下所示:
testOnly "com.my.project.path.somePackage" -- -l "com.my.project.path.tags.ValidationTest"
我已经尝试过在包裹周围加引号和不加引号。
我刚刚读到testOnly 用于新版本的sbt 而不是test-only。我已经尝试过这种语法(以及许多变体),但似乎没有任何效果。
我的测试设置如下:
"some method" should "fail when doing something" taggedAs ValidationTest in { ... }
我在TestTag.scala 中定义了object ValidationTest extends Tag("com.my.project.path.tags.ValidationTest")。
当方法使用it 关键字而不是"some method" should "fail..." 定义时,我也尝试过此操作
Sbt with ScalaTest 在“包含和排除带有标签的测试”下显示以下内容
> test-only org.acme.* -- -n CheckinTests
> test-only org.acme.* -- -n FunctionalTests -l org.scalatest.tags.Slow
> test-only org.acme.* -- -n "CheckinTests FunctionalTests" -l "org.scalatest.tags.Slow org.scalatest.tags.Network"
【问题讨论】:
-
明确地说,您是否希望这些标签运行?听起来您不希望带有该标签的东西运行,我不相信 ScalaTest 支持。
-
ScalaTest 绝对确实 支持跳过这些标签,或者通过
-n或-l标志包括它们。见这里:ScalaTest with Sbt。请参阅页面下方的 3/4。 -
我知道这是一篇旧帖子,但我试图重现您的问题,但无法重现。你还在遇到这个问题吗?
标签: scala sbt automated-tests scalatest