Правильная конфигурация помпона для тестов на огурец и отчетности по огурцам

Я работал в предыдущем проекте, но не могу найти его сейчас...

Я использую Maven для создания Java-приложения и запускаю тесты для приложения во время процесса сборки. Я использую плагин Maven-Cucumber-Reporting v3.0.0, чтобы собрать отчет о результатах.

Я бы хотел:

  1. Запустите тесты на огурец
  2. Создать отчет (независимо от того, пройдены ли тесты на огурец)
  3. Сбой сборки после генерации отчетов в случае неудачи

Как я могу настроить мой pom с помощью комбинированного плагина maven-surefire-plugin, maven-cucumber- Reporting и любых других плагинов, чтобы эта работа работала?

Обновление 1:

Вот моя текущая конфигурация POM:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version>
            <configuration>
                <testFailureIgnore>true</testFailureIgnore>
            </configuration>
        </plugin>
        <plugin>
            <groupId>net.masterthought</groupId>
            <artifactId>maven-cucumber-reporting</artifactId>
            <version>${cucumber.reporting.version}</version>
            <executions>
                <execution>
                    <id>execution</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                    <configuration>
                        <projectName>${project.artifactId}</projectName>
                        <outputDirectory>${project.basedir}/src/test/report/cucumber-reports</outputDirectory>
                        <cucumberOutput>${project.basedir}/src/test/report/cucumber.json</cucumberOutput>
                        <skippedFails>true</skippedFails>
                        <enableFlashCharts>false</enableFlashCharts>
                        <buildNumber>${project.version}</buildNumber>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>com.coderplus.maven.plugins</groupId>
            <artifactId>copy-rename-maven-plugin</artifactId>
            <version>1.0</version>
            <inherited>false</inherited>
            <executions>
                <execution>
                    <id>copy-file</id>
                    <phase>test</phase>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
                        <sourceFile>${project.basedir}/src/test/report/cucumber.json</sourceFile>
                        <destinationFile>${project.parent.basedir}/src/test/report/cucumber-${project.artifactId}-${project.version}.json</destinationFile>
                    </configuration>
                </execution>
            </executions>
        </plugin>

Как я могу получить тесты на огурец во время maven-surefire-plugin, не подведет maven-cucumber-reporting а также copy-rename-maven-plugin плагины запускаются для генерации моих отчетов и размещения их в нужном месте (многомодульный модуль, в котором я собираю тесты в родительской среде), И ПОТОМ провалить сборку?

В настоящее время условия 1 и 2 проходят (мои тесты Cucumber запускаются, не выполняются, а затем создаются отчеты, но сборка НЕ ​​завершается неудачей).

Может быть, в более общем смысле, как я могу запустить тесты как часть сборки maven, затем выполнить некоторые подключаемые модули отчетности, а затем завершить сборку после запуска подключаемых модулей отчетности?

1 ответ

Я успешно использовал format = {"pretty", "html:target/Destination"} в бегун, в соответствии с примером на Tutorialspoint

Другие вопросы по тегам