是否可以在不编写插件的情况下自定义 Maven 构建生命周期?我想自定义我的项目以在不运行测试的情况下对其进行打包,然后运行测试。背景是测试在 HTTPUnit 上运行,它需要一个完全构建的 Web 应用程序目录结构。
问问题
211 次
3 回答
3
正如 khmarbaise 所建议的,您可以使用maven-failsafe-plugin,它是 maven-surefire-plugin 的扩展。
Maven 生命周期有四个阶段非常适合您的意图:
pre-integration-test
用于设置集成测试环境。integration-test
用于运行集成测试。post-integration-test
用于拆除集成测试环境。verify
用于检查集成测试的结果。
一般来说,在pre-integration-test
我们启动服务器的过程中
例如:
<executions>
[...]
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run-exploded</goal>
</goals>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
<daemon>true</daemon>
</configuration>
</execution>
<execution>
<id>stop-jetty</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
我将此插件与Hudson一起使用;在Maven 构建自定义 - 第 5 章中,您可以找到更多详细信息。
于 2014-11-06T16:55:08.530 回答
1
看来您正在编写集成测试。
您可以使用maven-failsafe-plugin。此插件默认在Maven 构建生命周期的集成测试阶段(打包阶段之后)执行...
于 2012-08-28T14:21:08.250 回答
1
出于这些目的,您需要专门用于此类事情的集成测试阶段。它在打包阶段之后但在安装/部署阶段之前。这可以通过使用maven-failsafe-plugin来实现。您可以在此处找到完整示例。
于 2012-08-28T14:21:19.450 回答