获得仅限测试,以便在SBT控制台之外工作

时间:2015-12-18 17:26:34

标签: scala sbt specs2

我正在使用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控制台,对吧?

1 个答案:

答案 0 :(得分:7)

Sbt将两个参数视为两个独立的命令。你应该把它标记为一个。

尝试:sbt "testOnly services.UserServiceSpec"