如何更改sbt中测试执行的并发性



我想控制sbt在并行运行时使用的线程数。一个原因是我的很多测试都在调用restapi,这意味着它们大部分时间都在等待,所以如果我将线程数量增加到cpu数量以上,测试应该会运行得更快。

我见过很多声称可以做到这一点的配置,即

concurrentRestrictions in Test := Tags.limit(Tags.CPU,16) :: Nil

但似乎没有什么不同。使用sbt 1.4.3

正确的设置是

concurrentRestrictions in ThisBuild := Tags.limit(Tags.Test, 16 ) :: Nil

默认情况下,CPU标记仅限制compile。有关更多详细信息,请参阅这些文档。

当前默认标记的任务为:

compile:编译,CPU

测试:测试

更新:更新,网络

publish,publishLocal:发布,网络

最新更新