小编cho*_*ver的帖子

Maven:在运行单元测试时忽略模块间的依赖关系

我们有一个大型的多模块 Maven 项目。我一直在尝试使用 -T 选项加速我们的单元测试构建,并取得了一些积极的结果。但是,我们的项目中有一些依赖路径是这样的:

模块 A <- 模块 B <- 模块 C

每个模块的单元测试需要 20-30 分钟。由于 -T 选项按其相关顺序构建模块,因此总构建时间为 90 分钟。如果我可以先编译所有模块,然后并行运行 A、B 和 C 的测试,那真的会加快构建速度。例如。像这样的东西:

$ mvn -T 10 clean install -DskipTests
$ mvn -T 10 --ignore-dependencies test
Run Code Online (Sandbox Code Playgroud)

问题:Maven 是否支持开箱即用?

我一直在考虑编写一个小脚本的想法,该脚本将解析 mvn dependency:tree 的输出并并行调用“mvn test -pl A”、“mvn test -pl B”等,但显然如果 Maven有一个开箱即用的解决方案,这将是更可取的。

我们正在使用 Jenkins,所以如果有一些 Jenkins 插件或我错过的 Jenkins 功能支持这一点,那会很有帮助!

注意:加速 A、B 和 C 的单元测试将需要大量工作,并且不能保证单个模块中的测试是可并行的

unit-testing build maven multi-module jenkins

5
推荐指数
1
解决办法
386
查看次数

标签 统计

build ×1

jenkins ×1

maven ×1

multi-module ×1

unit-testing ×1