unit-testing - "Implicit"插件 - 为什么 Maven 构建会通过 Surefire 运行测试,即使 POM 中没有提及?

标签 unit-testing maven

通常,要在构建期间使用 Maven 插件,需要通过将其放入 <build> 来显式激活它。 POM 部分。

但是,如果您制作一个最小的 POM(“构建”部分中没有插件)并运行 Maven 构建,Maven 将默认运行一些插件,例如通过 Surefire 编译和运行测试。

这是如何工作的?是否有一些“默认”插件的内部列表?或者这是在“super POM”中定义的?我尝试查找 super POM,但给出的示例(在“Maven:完整引用”中)没有列出 Surefire 插件。

最佳答案

构建期间将激活的插件列表(如果没有明确声明其他插件)取决于项目打包。例如,对于 jarwar 项目,默认生命周期包含 test 阶段,该阶段通过以下方式绑定(bind)到 surefire:test默认。请参阅here了解更多信息。

关于unit-testing - "Implicit"插件 - 为什么 Maven 构建会通过 Surefire 运行测试,即使 POM 中没有提及?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9362285/

相关文章:

javascript - 如何使用spyOn模拟Jasmine中选择器的jQuery值?

python - 如何修复更改密码 View 的测试(Django REST Framework)?

android - 无法解析 : multidex-instrumentation

java - 检查是否在gradle中正确添加了依赖项

java - 在 Windows 上使用 evosuite

unit-testing - AngularJS - 测试指令链接功能,如何监视 Controller

Android 单元测试开始

java - 设置java堆大小时忽略MAVEN_OPTS

java - Maven - 无法在多模块项目中激活配置文件

maven - 使用命令行更改 maven surefire reportsDirectory