我有一个大量使用CompletableFuture
的代码,我的同事做了一些测试。
测试似乎在我的机器上通过,但在他的机器上失败了。 我发现了这个错误(即使测试在我的机器上通过),但我想确保我正确修复它,而不会打扰我的同事(运行测试)。
由于某种原因,测试中的多线程代码按顺序运行。
我以这种方式运行Maven测试:
mvn test -Dtest=CompFutTest -DfailIfNoTests=false -DprintSummary=false
答案 0 :(得分:0)
maven-surefire-plugin控制并发执行。
如果希望您的测试同时运行,请使用其中一个配置您的surefire插件...
<parallel>methods</parallel>
<parallel>classesAndMethods</parallel>
...取决于您是希望在每个测试用例中还是在整个测试用例中进行并发。
在the docs中更详细地讨论了并行值的选择(以及threadCount的相关选择)以及TestNG,JUnit和surefire插件之间的各种兼容性问题。