如何关闭多项目构建的并行测试执行?

Man*_*rdt 30 scala sbt

我有一个多项目构建,在子项目和父项目中都有测试.聚合构建,以便父项目在子项目中运行所有测试.

我对其进行了配置,以便在子项目和父项目中都没有并行执行测试

parallelExecution in Test := false
Run Code Online (Sandbox Code Playgroud)

但是,我有一种唠叨的感觉,跨越多个项目的测试是并行运行的.在其中一个子项目的情况下,这是一个问题,因为它同时改变了测试数据库中的状态,导致测试失败.

有关如何在项目之间全局切换测试并行执行的任何想法?

0__*_*0__ 30

我认为您可以使用范围跨项目应用设置ThisBuild,例如

parallelExecution in ThisBuild := false
Run Code Online (Sandbox Code Playgroud)

我不知道你是否可以将它与范围结合起来Test,但可能没有必要.


lis*_*sak 16

要限制所有项目中并发执行测试的数量,请使用:

concurrentRestrictions in Global += Tags.limit(Tags.Test, 1)
Run Code Online (Sandbox Code Playgroud)

sbt文档

讨论


xma*_*mar 6

这在1.1.0中对我有用:

Test / parallelExecution := false