我在一个Maven项目中有两套集成测试 - 自动和手动测试。手动测试很少,但乏味 - 他们需要拉动服务器等。我想为手动测试创建一个单独的目标,因此我可以运行类似的东西 mvn manualtests 运行手动测试。如果您只运行普通的Maven构建 mvn install 大概,应进行自动测试。

我已经用TestNG注释对手动测试进行了注释 @Test(groups="manual". 。现在的目标是具有Surefire插件的两种配置,一个运行自动测试,该测试绑定到构建的测试阶段,另一个运行手动测试,该测试绑定到我想调用的另一个自定义阶段 manualtests. 。似乎不可能将插件的执行绑定到不存在的阶段(即Maven没有预定的一个阶段)。是否不可能定义自己的阶段?

有帮助吗?

解决方案

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

使用此依赖性:

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

获取来源,并查看元件内部/丛/丛内的components.xml。在那里,定义了默认阶段和默认的生命周期 /相绑定。

创建一个覆盖这些默认阶段的插件(在其自身的组件中)和 将其定义为扩展

其他提示

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top