Как сделать так, чтобы плагин soapUI maven был безопасным? - PullRequest
0 голосов
/ 12 августа 2011

AFAIK, отказоустойчивый плагин maven отказоустойчиво , поскольку он имеет отдельные цели для запуска тестов и сбоя сборки на основе тестов. Они предназначены для привязки к тестированию интеграции и проверки целей соответственно. Это позволяет запускать цели, связанные с тестированием после интеграции (выключая сборку), прежде чем сборка завершится неудачей.

Мой вопрос: как мне это сделать с помощью maven-soapui-plugin? Я подумал, что мог бы просто указать <testFailIgnore>true</testFailIgnore> в моей конфигурации плагина soapui, а затем вызвать отказоустойчивый плагин для проверки цели, но это не работает. Я не думаю, что не уверен, получаю ли я сводный файл из плагина soapui или нет. Я продолжаю получать Expected root element 'failsafe-summary' but found 'testsuite' Вот фрагмент POM:

<plugin>
    <groupId>eviware</groupId>
    <artifactId>maven-soapui-plugin</artifactId>
    <version>4.0.0</version>
    <configuration>
        <junitReport>true</junitReport>
        <exportAll>true</exportAll>
        <outputFolder>${project.build.directory}/surefire-reports</outputFolder>
        <testFailIgnore>true</testFailIgnore>
        <printReport>true</printReport>
    </configuration>
    <executions>
        <execution>
            <id>FailingTest</id>
            <phase>integration-test</phase>
            <goals>
                <goal>test</goal>
            </goals>
            <configuration>
                <projectFile>${basedir}/testData/soapui-integration-tests.xml</projectFile>
                <host>localhost</host>
            </configuration>
        </execution>
    </executions>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.9</version>
    <executions>
          <execution>
           <phase>verify</phase>
            <id>verify</id>
            <goals>
              <goal>verify</goal>
            </goals>
            <configuration>
              <summaryFiles>
                <summaryFile>${project.build.directory}/surefire-reports/TEST-TestSuite_1.xml</summaryFile>
              </summaryFiles>
            </configuration>
        </execution>
    </executions>
</plugin>

Что-то не так с моим POM или это плохой подход? Есть ли лучшие подходы?

Ответы [ 3 ]

1 голос
/ 22 февраля 2012

Я пробую это решение, и оно не работает.Но я нашел один.Чтобы получить отчет по тестам SOAPUI в Jenkins, я использовал подключаемый модуль failsafe с этой конфигурацией в pom.xml моей папки тестов Soap:

<build>
    <plugins>
        <plugin>
            <groupId>eviware</groupId>
            <artifactId>maven-soapui-plugin</artifactId>
            <version>2.6.1</version>
            <configuration>
                <projectFile>${basedir}/soap_project_tests.xml</projectFile>
                <outputFolder>${filePath.reports.soap}</outputFolder>
                <testFailIgnore>true</testFailIgnore>
                <junitReport>true</junitReport>
                <exportwAll>true</exportwAll>
                <printReport>true</printReport>
            </configuration>
            <executions>
                <execution>
                    <id>run-soap-integration-test</id>
                    <phase>integration-test</phase>
                    <goals>
                        <goal>test</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.11</version>
            <configuration>
                <reportsDirectory>${filePath.reports.soap}</reportsDirectory>
                <printSummary>true</printSummary>
                <argLine>-Xmx512m</argLine>
            </configuration>
            <executions>
                <execution>
                    <id>soap-integration-test-verify</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Состояние тестовых заданий до Jenkins.*

1 голос
/ 05 сентября 2013

Существует расширение с открытым исходным кодом плагина soapui, у которого есть отдельная цель проверки-проверки именно для этой цели.

https://github.com/redfish4ktc/maven-soapui-extension-plugin

В следующем примере показана необходимая конфигурация: https://github.com/redfish4ktc/maven-soapui-extension-plugin/blob/master/src/it/test-verify_goal/one_failing_project/pom.xml

1 голос
/ 17 сентября 2011

AFAIK maven-failsafe-plugin может проверять только успешное состояние тестов, выполняемых maven-failsafe-plugin, но не maven-soapui-plugin.Он делает это, читая файл сводного отчета по тестам (failsafe-summary.xml), который имеет определенный формат.

Плагин maven-soapui-plugin может быть настроен так, чтобы отделить запущенные тесты от проверки статуса теста, чтобы поддерживать запуск послезадачи проверки интеграции (остановка сервера, удаление артефактов и т. д.) перед проверкой.Создайте заявку на поддержку для этого для soapUI парни .

Может быть, даже maven-failsafe-plugin, это verify mojo, может быть расширен для возможности указания другого формата отчета о тестировании ( JUnit styleотчеты поддерживаются soapUI ) или даже выражением xpath, которое будет использоваться maven-failsafe-plugin для определения, были ли неудачные тесты или нет.Создайте заявку на поддержку для этого на maven-failsafe-plugin tracker .

Пока эти расширения не поддерживаются, и вам нужно выполнять задачи на этапе тестирования после интеграции, который вы можете использовать интеграция soapUI JUnit и запуск maven-failsafe-plugin для запуска этих тестов soapUI JUnit.

...