Maven测试按顺序运行(多线程测试),原因不明

时间:2017-07-26 06:51:33

标签: java multithreading maven completable-future

我有一个大量使用CompletableFuture的代码,我的同事做了一些测试。

测试似乎在我的机器上通过,但在他的机器上失败了。 我发现了这个错误(即使测试在我的机器上通过),但我想确保我正确修复它,而不会打扰我的同事(运行测试)。

由于某种原因,测试中的多线程代码按顺序运行。

我以这种方式运行Maven测试:

mvn test -Dtest=CompFutTest -DfailIfNoTests=false -DprintSummary=false

1 个答案:

答案 0 :(得分:0)

maven-surefire-plugin控制并发执行。

如果希望您的测试同时运行,请使用其中一个配置您的surefire插件...

<parallel>methods</parallel>
<parallel>classesAndMethods</parallel>

...取决于您是希望在每个测试用例中还是在整个测试用例中进行并发。

the docs中更详细地讨论了并行值的选择(以及threadCount的相关选择)以及TestNG,JUnit和surefire插件之间的各种兼容性问题。