gpt4 book ai didi

testing - 多模块 Maven 项目中的 Jacoco 和 Arquillian

转载 作者:行者123 更新时间:2023-11-28 20:56:59 27 4
gpt4 key购买 nike

我正在关注这篇文章:http://www.softwarepassion.com/it-coverage-with-arquillian-jacoco-extension/获得 arquillian 集成测试的测试覆盖率。虽然我的项目是一个多模块,但我不知道在哪里放置插件和依赖项。是在top pom、神器制作模块还是在集成测试模块?谢谢

最佳答案

在某种程度上,它取决于您的 Maven 设置的细节,这不在您的问题中。以下是一些一般性建议。

1) 你应该把 arquillian-jacoco 和 jacoco 依赖放在哪里?

这些依赖项可能应该位于其余 Arquillian 依赖项所在的位置。我的理解是,正是这些依赖关系触发了 Arquillian 使用 JaCoCo,而不是插件声明;即使这些依赖项位于具有实际 Arquillian 测试的 POM 的父级中,Arquillian 测试类仍应进行检测。你不会将这些依赖项放在带有测试的模块的同级模块中,因为它们需要由集成测试模块继承(当然除非这个同级模块已被声明为测试模块的依赖项)。

2) 你应该把 JaCoCo 插件声明放在哪里?

如上所述,您甚至可能不需要此声明,具体取决于您要实现的目标。如果你想生成一个报告,而不仅仅是 jacoco.exec 文件,那么你需要声明插件和一个带有报告目标的执行。如果您有其他希望使用 JaCoCo 进行检测的测试,例如单元测试,您可能还需要声明带有 prepare-agent 目标的插件。

如果您要声明插件,可以像对待任何其他 Maven 插件一样对待它。如果您想默认跨多个模块运行 JaCoCo,您可以选择将插件声明放在父 POM 中的常规“插件”标签内,并让所有子模块继承它,或者您可能希望将它放在父 POM 中在 'pluginManagement' 元素中,以便可以继承配置(参见 http://maven.apache.org/pom.html#Plugin_Management )。或者,如果你只想在你的集成测试模块中运行 Arquillian 测试,你也可以简单地在这个模块的 POM 中声明插件(如果你想要一个报告,并且如果你只检测 Arquillian 测试则没有 prepare-agent 目标).

希望对您有所帮助!

关于testing - 多模块 Maven 项目中的 Jacoco 和 Arquillian,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12354669/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com