0

私の知る限り、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に何か問題がありますか、それともこれは悪いアプローチですか? より良いアプローチはありますか?

4

3 に答える 3

1

この解決策を試していますが、うまくいきません。しかし、私はそれを見つけました。Jenkins で SOAPUI テストのテスト レポートを取得するために、Soap テスト フォルダーの pom.xml でこの構成のフェイルセーフ プラグインを使用します。

<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 次第です。

于 2012-02-22T10:48:03.413 に答える
1

まさにこの目的のための別個のテスト検証目標を持つ soapui プラグインのオープン ソース拡張があります。

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

次の例は、必要な構成を示しています

于 2013-09-05T11:05:28.153 に答える
1

AFAIK maven-failsafe-plugin は、maven-soapui-plugin ではなく、maven-failsafe-plugin によって実行されたテストの成功ステータスのみを検証できます。これは、特定の形式のテスト概要レポート ファイル (failsafe-summary.xml) を読み取ることによって行われます。

maven-soapui-plugin を調整して、実行中のテストをテストの成功ステータスの検証から分離し、検証前の統合テスト後のタスク (サーバーの停止、アーティファクトのアンデプロイなど) の実行をサポートできます。これについては、soapUI 担当者にサポート チケットを作成してください。

おそらく maven-failsafe-plugin でさえ、それは検証モジョであり、異なるテストレポート形式 ( JUnit スタイルのレポートは soapUI でサポートされています)を指定できるように拡張できます。テストに失敗したかどうか。これに対するサポート チケットをmaven-failsafe-plugin issue trackerで作成してください。

これらの拡張機能がサポートされ、統合テスト後のフェーズでタスクを実行する必要があるまでは、soapUI JUnit 統合を使用し、maven-failsafe-plugin でこれらの soapUI JUnit テストを実行できます。

于 2011-09-17T14:42:38.057 に答える