2

Maven cobertura プラグインを使用して単体テスト コード カバーを取得し、コマンド ラインから使用しています。

mvn cobertura:cobertura

私がやりたいのは、コマンドラインから除外を構成することです。公式ドキュメントからわかるように、 インストルメンテーション ユーザー プロパティを構成できます。

この Instrumentation Configuration オブジェクトの構造は次のとおりです。

<instrumentation>
  <excludes>
    <exclude>com/example/dullcode/**/*.class</exclude>
  </excludes>
</instrumentation>

次の形式のコマンドラインのみを使用して、上記のような複雑なオブジェクトを構成する方法はありますか?

-Dcobertura.instrumentation.excludes.<something>=com/example/dullcode/**/*.class

?

4

1 に答える 1

3

いいえ、コマンド ラインで複雑なパラメーターを定義することはできません。ただし、これを機能させるためのトリックを実装できます。コマンドラインでオーバーライドする Maven プロパティを定義します。

プラグインは次のように構成できます。

<instrumentation>
  <excludes>
    <exclude>${cobertura.instrumentation.exclude}</exclude>
  </excludes>
</instrumentation>

次に、コマンドラインで

-Dcobertura.instrumentation.exclude=com/example/dullcode/**/*.class

これらのクラスを正しく除外します。また、システム プロパティを指定しない場合、何も除外されません。

于 2016-10-13T14:45:31.520 に答える