我有两个测试套件,分别是A.xml和B.xml。 以下是其中一个例子。
<!-- URL Details -->
<parameter name="applicationHostname" value="localhost" />
<parameter name="applicationProtocol" value="http" />
<parameter name="applicationPort" value="8080" />
<parameter name="testDelay" value="0" />
<test verbose="2" name="TestSuiteA" annotations="JDK"
preserve-order="true">
<parameter name="testDataSource" value="Data.json" />
<classes>
<class name="package.SuiteConfiguration" />
<class
name="package.functionalTestAppStart.AppStarter" />
</classes>
</test>
此处 AppStarter 是触发的springboot应用程序。
这是我对应的POM.xml片段
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<executions>
<execution>
<id>IT</id>
<phase>test</phase>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<skip>false</skip>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/suites/FT_TEST_SUITE.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</execution>
<execution>
<id>verify</id>
<phase>verify</phase>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
此处 FT_TEST_SUITE.xml 是父测试套件,它只触发其他两个测试套件。
<suite-files>
<suite-file path="TESTSUITE_A.xml" />
<suite-file path="TESTSUITE_B.xml" />
</suite-files>
当我构建我的maven项目“mvn clean install”时,测试套件会被触发3次。如何解决这个问题呢? 谢谢!
答案 0 :(得分:0)
将配置部分移动到依赖关系配置并删除执行(因为较新版本的Spring Boot已经定义了这样的默认设置):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/suites/FT_TEST_SUITE.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
答案 1 :(得分:0)
我发现解决方案稍有改变。在 failsafe_version 中将版本更改为 2.13 并将阶段更改为集成测试完成了这项工作。 这是我更新的POM.xml代码段。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.13</version>
<executions>
<execution>
<id>IT</id>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/suites/FT_TEST_SUITE.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</execution>
<execution>
<id>verify</id>
<phase>verify</phase>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
感谢您的所有回复!