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