在jenkins上构建的Maven为两个模块运行测试

时间:2018-08-14 13:04:03

标签: maven jenkins

我有一个带有多个模块的Maven项目。 模块A包含100个测试用例。模块B取决于模块A,包含50个测试用例。 在jenkins上运行我的Maven构建时,模块B开始显示150个测试,另外100个测试的名称与模块A的名称相对应。

值得注意的是,模块A包含一个自定义的Maven配置文件,以在“每天”运行测试时排除某些测试,而广泛的测试集在夜间运行。

我有另一种测试配置,其中A进行了更广泛的测试,模块B再次显示了额外的测试。

如何停止Maven在模块B中再次运行测试?

编辑:行家的目标分别是verifyverify -P !defaultTestSet。在构建之前删除工作空间并没有任何改变。

编辑2:如果通过verify -pl !A排除了模块A,则不会在模块B中进行测试。

1 个答案:

答案 0 :(得分:0)

我弄清楚了这个问题:詹金斯实际上并没有运行两次测试,只是向其他模块展示了它们。

原因是maven-surefire-plugin的配置中。当我们从可运输状态切换到reportDirectory时,其设置为“ ... / shippable / reports /”。来自两个模块的测试报告最终都在同一个模块中。当詹金斯报告第一个模块的测试时,没有问题,因为只有那个模块的测试在那儿。在报告第二个模块的测试时,两个模块的报告都在其中,并进入了报告。