У меня есть два набора тестов: A.xml и B.xml. Вот пример одного из них.Плагин Maven surefire запускает testuite более одного раза
<!-- 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», testuites запускается 3 раза. Как решить эту проблему? Спасибо!
Почему вы используете файлы пакета? Почему бы не использовать соглашение об именах и позволить отказоустойчивому плагину выполнять свою работу. – khmarbaise
@khmarbaise Для моего варианта использования требуется, чтобы было настроено несколько файлов и ввод данных testdata, которые собираются внести вклад в тестовый класс. –