отказоустойчивый плагин maven с Junit 5 - не может запускать отфильтрованные группы с помощью командной строки и Junit 5 @Tag - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь запустить отказоустойчивый плагин для интеграционных тестов с использованием тегов Junit 5.Мой POM.xml для отказоустойчивого выглядит следующим образом:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>${maven.failsafe.version}</version>
            <configuration>
                <systemProperties>
                    <phantomjs.binary.path>${phantomjs.binary.path}</phantomjs.binary.path>
                    <webdriver.chrome.driver>${webdriver.chrome.driver}</webdriver.chrome.driver>
                    <webdriver.ie.driver>${webdriver.ie.driver}</webdriver.ie.driver>
                    <webdriver.edge.driver>${webdriver.edge.driver}</webdriver.edge.driver>
                    <webdriver.gecko.driver>${webdriver.gecko.driver}</webdriver.gecko.driver>
                    <webdriver.opera.driver>${webdriver.opera.driver}</webdriver.opera.driver>
                    <selenium.wait.timeout>30</selenium.wait.timeout>
                </systemProperties>
                <configuration>
                    <groups>EveryDay|Today</groups>
                    <excludedGroups>integration, regression</excludedGroups>
                </configuration>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

и пытается сделать:

mvn -Dgroups=Today verify

Он не работает и запустить весь пакет.Есть идеи?

Мой метод испытаний выглядит так:

@Test
@Tag("EveryDay")
@Tag("Today")
@DisplayName("Activities")
public void activitiesTest(){ // Some test code here }

и мой класс испытаний:

@ExtendWith({SpringExtension.class})
@ContextConfiguration(classes = { WebDriverConfig.class, LoggerConfig.class, EmailConfig.class})
@TestExecutionListeners(listeners= {ScreenshotTaker.class, DependencyInjectionTestExecutionListener.class, RunnerExtension.class})
public class BasicScenariosIT {
// Code 
}

1 Ответ

0 голосов
/ 29 ноября 2018

На самом деле решение было довольно простым ... В моем maven pom.xml, в отказоустойчивом плагине:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>${maven.failsafe.version}</version>
                <configuration>

                    <groups>${test.included.groups}</groups>
                    <excludedGroups>${test.excluded.groups}</excludedGroups>

                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

Обратите внимание на параметры:

${test.included.groups}
${test.excluded.groups}

В моем junit 5test:

@Test
@Tag("EveryDay")
@Tag("Today")
@DisplayName("Activities")
public void activitiesTest(){ // Some test code here }

и команда:

mvn -Dtest.included.groups=Today verify

Вот и все !!

...