让测试仅在 SBT 控制台外工作
Getting test-only to work outside SBT console
我正在使用 Specs2 进行测试,包括最新的 Play、Scala 和 SBT。
在 sbt console 中,效果很好,运行仅在 UserServiceSpec:
中测试
[my-project] $ test-only services.UserServiceSpec
外部 sbt 控制台,在项目根目录中,这不工作:
$ sbt test-only services.UserServiceSpec
这运行s 所有测试。 (testOnly
也是如此。)
test-only
应该如何在 sbt 控制台之外工作?
后续问题:使用,如何在sbt控制台外的命令行上只执行标记测试?
$ sbt test-only -- include unit
以上再次尝试执行 all 测试(而 test-only -- include unit
在 sbt 控制台中工作正常)。
基本上,我想在 CI 服务器上 运行 所有 单元测试 ,并且 Specs2 标签似乎是一个很好的工具来分离不同的各种测试。在这种情况下我无法使用 sbt 控制台,对吗?
Sbt 将两个参数视为两个单独的命令。你应该把它标记为一个。
尝试:sbt "testOnly services.UserServiceSpec"
我正在使用 Specs2 进行测试,包括最新的 Play、Scala 和 SBT。
在 sbt console 中,效果很好,运行仅在 UserServiceSpec:
中测试[my-project] $ test-only services.UserServiceSpec
外部 sbt 控制台,在项目根目录中,这不工作:
$ sbt test-only services.UserServiceSpec
这运行s 所有测试。 (testOnly
也是如此。)
test-only
应该如何在 sbt 控制台之外工作?
后续问题:使用
$ sbt test-only -- include unit
以上再次尝试执行 all 测试(而 test-only -- include unit
在 sbt 控制台中工作正常)。
基本上,我想在 CI 服务器上 运行 所有 单元测试 ,并且 Specs2 标签似乎是一个很好的工具来分离不同的各种测试。在这种情况下我无法使用 sbt 控制台,对吗?
Sbt 将两个参数视为两个单独的命令。你应该把它标记为一个。
尝试:sbt "testOnly services.UserServiceSpec"