并行运行 Maven 测试,无需等待同级模块依赖项

Ale*_*x A 7 java testing build maven parallel-builds

我有一个多模块 maven 项目,其中模块之间有很多依赖项。我尝试并行运行我的测试,但由于模块没有经过深思熟虑并且高度依赖于彼此,我基本上没有时间增益,因为它们最终仍然按顺序执行。

现在,在完全运行测试之前,我有一个阶段来构建项目,以便我可以在测试的同时应用其他静态分析工具。

我的问题是:鉴于我的模块已经编译,我是否可以不告诉 maven 使用这些预编译类并行运行测试而不等待依赖模块先运行它们的测试?例如,目前如果我有一个依赖于模块 B 的模块 A,模块 B 将在 A 开始之前先执行其所有测试。由于我已经构建了 A 和 B,因此我无需保留此限制。

我目前运行测试的方式类似于: mvn -f project-parent/pom.xml surefire:test项目父级是一个模块,它是我所有其他模块的父级。为简洁起见,我省略了配置文件和其他参数。

谢谢!

编辑:此时我正在尝试使用 junit 或 surefire 避免类/套件级别的并行化,并且只想以并行方式测试模块。

Kav*_*lai 0

如果绝对必要,您还可以使用该maven.test.skip属性来跳过编译测试。maven.test.skip受到SurefireFailsafeCompiler插件的表彰。

   mvn -T 8 -f project-parent/pom.xml surefire:test -Dmaven.test.skip=true
Run Code Online (Sandbox Code Playgroud)