【发布时间】:2016-03-23 21:38:39
【问题描述】:
另一个 Maven 问题。我有由 maven-surefire-plugin 运行的带有 TestNG 测试的应用程序。我创建了 2 个配置文件,用于制作和测试。
我正在通过“mvn clean install”命令构建我的应用程序。现在我的目标是仅在我指定测试配置文件时运行 TestNG 测试。
代码:
profiles>
<profile>
<id>prod</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>${basedir}/target/test-classes/firstTest.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
但问题是每次构建应用程序时都会运行测试...无论是否指定了“测试”配置文件。为什么?
【问题讨论】:
-
测试阶段是 Maven 默认构建生命周期的一部分。除非您明确禁用它,否则它始终会执行。将此 sn-p 放入您的生产配置文件
true