如何更改 sbt 中测试执行的并发性
How to change concurrency for test execution in sbt
我想控制 sbt 在并行 运行ning 时使用的线程数。一个原因是我的很多测试都在调用 rest api's,这意味着它们大部分时间都在等待,所以如果我将线程数增加到 cpu's 的数量以上,测试应该运行 更快。
我见过很多声称可以做到这一点的配置,即
concurrentRestrictions in Test := Tags.limit(Tags.CPU,16) :: Nil
但似乎没有什么不同。使用 sbt 1.4.3
正确的设置是
concurrentRestrictions in ThisBuild := Tags.limit(Tags.Test, 16 ) :: Nil
CPU
标签默认只限制compile
。详情请参考这些docs。
The tasks that are currently tagged by default are:
compile : Compile, CPU
test : Test
update : Update, Network
publish, publishLocal : Publish, Network
我想控制 sbt 在并行 运行ning 时使用的线程数。一个原因是我的很多测试都在调用 rest api's,这意味着它们大部分时间都在等待,所以如果我将线程数增加到 cpu's 的数量以上,测试应该运行 更快。
我见过很多声称可以做到这一点的配置,即
concurrentRestrictions in Test := Tags.limit(Tags.CPU,16) :: Nil
但似乎没有什么不同。使用 sbt 1.4.3
正确的设置是
concurrentRestrictions in ThisBuild := Tags.limit(Tags.Test, 16 ) :: Nil
CPU
标签默认只限制compile
。详情请参考这些docs。
The tasks that are currently tagged by default are:
compile : Compile, CPU
test : Test
update : Update, Network
publish, publishLocal : Publish, Network