我正在使用Specs2进行测试,使用最新的Play,Scala和SBT。
在sbt控制台中,这很好用,只在UserServiceSpec中运行测试:
[my-project] $ test-only services.UserServiceSpec
外部 sbt控制台,在项目根目录中,这样做不工作:
$ sbt test-only services.UserServiceSpec
这会运行所有测试。 (与testOnly
相同。)
test-only
如何在sbt控制台之外工作?
后续问题:使用Specs2 tags,如何在命令行上执行仅标记的测试,在sbt控制台之外?
$ sbt test-only -- include unit
上面再次尝试执行所有测试(在sbt控制台中test-only -- include unit
工作正常)。
基本上,我想在CI服务器上运行所有单元测试,而Specs2标签似乎是分离不同类型测试的好工具。在这种情况下,我无法使用sbt控制台,对吧?
答案 0 :(得分:7)
Sbt将两个参数视为两个独立的命令。你应该把它标记为一个。
尝试:sbt "testOnly services.UserServiceSpec"