2

次のコマンドとpom.xmlスニペットを使用して、キュウリケース(機能ファイルのtag@abcなど)で統合テストを実行します-

pom.xml スニペット:

...
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.11</version>
    <configuration>
        <skip>true</skip>
    </configuration>
    <executions>
        <execution>
            <phase>integration-test</phase>
            <goals>
                <goal>test</goal>
            </goals>
            <configuration>
                <skip>false</skip>
                <includes>
                    <include>**/*.class</include>
                </includes>
                <systemPropertyVariables>
                    <job.host.name>server-t10</job.host.name>
                    <job.email.notification>abc@abc.com</job.email.notification>
                    <cucumber.options>--format pretty --format
                        html:target/cucumber/cucumber-html</cucumber.options>
                </systemPropertyVariables>
            </configuration>
        </execution>
    </executions>
</plugin>
...

テスト ケースを実行する mvn コマンド: mvn clean integration-test -Dcucumber.options="--format pretty --format html:target/cucumber/cucumber-html1 --tags @abc" -Djob.host.name=server-t10

ケースが実行され、すべてのレポートが生成され、すべてが正常に機能します。テストケースのカバレッジを取得しようとすると、問題が発生します。

cobertura-maven-plugin とバージョン 2.5.2 を使用して (ant instrumnet/report を使用せずに) cobertura カバレッジ レポートを生成するために可能なすべての組み合わせを試しましたが、レポートも .ser ファイルも何も作成しません。ログのみがそれを示しています-インストルメントするファイルがなく、何もしません。

戦いに負けて、やっと cobertura (1.9.4.1) をダウンロードし、カスタムの cobertura.xml を作成しました。そして、exに対して次のantコマンドを実行すると-

ant -f cobertura.xml instrument mvn clean integration-test -Dcucumber.options="--format pretty --format html:target/cucumber/cucumber-html1 --tags @abc" -Djob.host.name=server-t10 ant -f cobertura.xml report

幸いなことに、すべてのレポート/.ser ファイルなどが作成されます。ただし、すべてを実行した後、使用されているすべてのクラスの最終的なカバレッジ レポートにゼロ カバレッジが表示されます。これは、(私が思うに) mvn コマンドが、ant インストゥルメントによって作成された cobertura.ser を使用/操作しなかったためである可能性があります。

だから、これで私を助けてください、私がpom.xmlに何かを入れて、mvnコマンドを実行すると、インストルメント化されたファイル(ant insturmentコマンドによって生成された出力)を使用して更新するようにします。そのファイルを、ant レポートを使用したレポート生成に使用できるようにします。考えられるすべてのエントリを pom.xml に入れてみました。しかし、それは役に立ちませんでした。

注: cobertura-maven-plugin を機能させようとしてすべての努力が無駄になったため、この特定の解決策を探しています。理由はわかりませんが、このプラグインは、レポートを作成したり、ケースを実行したりするのにうまく機能しません。

4

0 に答える 0