【发布时间】:2017-02-13 10:36:49
【问题描述】:
我有两个测试套件,分别是 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 的 sn-p
<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 次。如何解决这个问题呢? 谢谢!
【问题讨论】:
-
你为什么使用套件文件?为什么不使用命名约定并让故障安全插件完成它的工作..
-
@khmarbaise 对于我的用例,它是必需的,因为需要配置多个文件和 testdata 输入,这将有助于测试类。
标签: java xml maven spring-boot maven-failsafe-plugin