11

DefaultViewTypeToFragmentMapperTest.javaディレクトリにテストケースがあるMavenプロジェクトがあり/src/test/java/test/com/mycompany/myproduct/android/viewtype2fragmentmapper/ます。

このテストケースを単体テストカバレッジの計算から除外したいと思います。この結果を達成するために、私は次のようにプラグインを構成しました。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>cobertura-maven-plugin</artifactId>
    <version>2.5.2</version>
    <configuration>
        <formats>
            <format>html</format>
            <format>xml</format>
        </formats>
        <instrumentation>
            <excludes>
                <exclude>test/co/**/*.class</exclude>
            </excludes>
        </instrumentation>
    </configuration>
</plugin>

しかし、私はまだカバレッジレポートで前述のクラスを見ています。

テストケースがレポートに表示されず、そのカバレッジ(レポートによると0%)が考慮されないようにするには、どうすれば修正できますか?

4

6 に答える 6

6

タグを使用する必要があります<ignore>

<configuration>
  <instrumentation>
    <ignores>
      <ignore>com.example.boringcode.*</ignore>
    </ignores>
  </instrumentation>
</configuration>

<exclude>used within<instrumentation>は、インストルメントからパッケージを除外するだけです。この場合、あなたは何もしていないので、何もありません。

Mojo Maven Cobertura プラグインのドキュメントはこちらをご覧ください。

于 2013-03-05T22:01:49.270 に答える
5

タイプミスですか?

<exclude>test/co/**/*.class</exclude>

cocomである必要があります。

ところで、<ignores>Coberturaに、ignore正規表現に一致するメソッドへの呼び出しをすべて無視するように指示します。インストルメンテーション中にこれらのクラスをスキップすることはありません。クラスをインストルメントから除外するには、<excludes>を使用する必要があります。

于 2013-03-06T03:15:05.807 に答える
4

次の例のように .class を追加しないでください

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>cobertura-maven-plugin</artifactId>
    <version>2.5.2</version>
    <configuration>
        <formats>
            <format>html</format>
            <format>xml</format>
        </formats>
        <instrumentation>
            <excludes>
                <exclude>test/co/**/*</exclude>
            </excludes>
        </instrumentation>
    </configuration>
</plugin>

これが役立つことを願っています。

于 2013-03-06T03:18:34.510 に答える