maven-2 - Maven - 添加自定义阶段以使用其他配置执行插件

标签 maven-2 testng phase

我在一个 Maven 项目中有两组集成测试 - 自动测试和手动测试。手动测试很少但很乏味 - 它们需要拔掉服务器的插头等。我想为手动测试创建一个单独的目标,这样我就可以运行诸如 mvn manualtests 之类的东西来运行手动测试。如果您只是运行普通的 Maven 构建 mvn install 左右,则应该运行自动测试。

我已经使用 TestNG 注释 @Test(groups="manual" 注释了手动测试。现在的目标是拥有 Surefire 插件的两种配置,一种运行自动测试绑定(bind)到构建的测试阶段,并且运行手动测试,该测试绑定(bind)到另一个自定义阶段,我想将其称为 manualtests。似乎无法绑定(bind)执行将插件添加到不存在的阶段(即不是由 maven 预定义的阶段)。是否无法定义自己的阶段?

最佳答案

这应该是可能的,尽管并不容易。第一步:看看默认情况下它是如何完成的。

使用此依赖项:

<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-core</artifactId>
    <version>${maven.version}</version>
</dependency>

获取源代码并查看 META-INF/plexus 内的 Components.xml。在那里,定义了默认阶段和默认生命周期/阶段绑定(bind)。

创建一个插件来覆盖这些默认阶段(在它自己的components.xml中)和define it as an extension

关于maven-2 - Maven - 添加自定义阶段以使用其他配置执行插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3127096/

相关文章:

c++ - 如何有效计算(基本上)等于零的复数的相位角?

matlab - 非线性系统 - 计算两个正弦波之间的相移 - 傅里叶和希尔伯特

java - spring - 从类路径资源 hibernate 加载 *.hbm.xml

gradle - 如何通过终端传递TestNG组?

java - 使用 maven 运行 java 类文件

glassfish - Arquillian - 编程配置

spring - 事务注解避免服务被 mock

java - 轴2休息: POST Parameters Null

java - 使用 Maven Shade 插件时出现 ClassNotFound 异常

java - 你如何设置一个也可以使用 groovy 的 maven java 项目?