我有Failsafe运行Selenium集成测试。如果我在测试中的一个断言未通过且测试失败,那么Maven构建将按预期失败。但是,如果测试错误,则构建意外地成功(下面的输出)
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 14.075 sec <<< FAILURE!
Results :
Tests in error:
test(uk.co.ned24.ExpandedIT)
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7 minutes 40 seconds
[INFO] Finished at: Wed Jan 30 16:58:28 GMT 2013
[INFO] Final Memory: 78M/209M
[INFO] ------------------------------------------------------------------------
我不确定这是否意味着是否发生以及Selenium是否会导致意外行为?我查看了插件doco,找不到任何可以设置的标志,以便在测试错误后使构建失败。
理想情况下,我想让测试错误的构建失败,所以会感激任何建议!我已经附上了从我的POM剪下的Failsafe,以防万一。使用它。
谢谢,尼克<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<systemPropertyVariables>
<configDir>${basedir}/local/integration-test</configDir>
</systemPropertyVariables>
</configuration>
</plugin>
答案 0 :(得分:3)
您应该拨打mvn verify
而不是mvn integration-test
。
引用Failsafe Plugin page(强调我的):
在构建生命周期的集成测试和验证阶段使用Failsafe插件来执行应用程序的集成测试。故障安全插件在集成测试阶段不会使构建失败,从而使集成后测试阶段能够执行。
注意:运行集成测试时,你应该调用 maven(更短的类型)
mvn verify
而不是试图直接调用集成测试阶段,否则将不会执行集成后测试阶段。
答案 1 :(得分:0)
您应该设置maven-failsafe-plugin的版本。例如2.14.1。
您的集成测试类必须以“IntegrationTest”结尾,例如: CustomDaoIntegrationTest