0

Checkstyle と PMD には 3.1.0 の Clover プラグインを使用しています。

次のコードは、インストルメント化されたクラスの開始時に追加されます

public static class __CLR3_1_0crcrhnxpu1rh{public static com_cenqua_clover.CoverageRecorder R;static{com_cenqua_clover.CoverageRecorder _R=null;try{com_cen`enter code here`qua_clover.CloverVersionInfo.An_old_version_of_clover_is_on_your_compilation_classpath___Please_remove___Required_version_is___3_1_0();if(20110531154203887L!=com_cenqua_clover.CloverVersionInfo.getBuildStamp()){com_cenqua_clover.Clover.l("[CLOVER] WARNING: The Clover version used in instrumentation does not match the runtime version. You need to run instrumented classes against the same version of Clover that you instrumented with.");com_cenqua_clover.Clover.l("[CLOVER] WARNING: 

次の行は、インストルメント化されたコードの各行に追加されます

__CLR3_1_0crcrhnxpu1rh.R.inc(462);

期待される動作ですか?または、インストルメンテーションで使用されるクローバーのバージョンが、エラー メッセージに記載されているランタイムのバージョンと一致しないためですか?

4

3 に答える 3

1

期待される動作ですか?

はい、これは予期された動作です。バイトコードを計測する Emma/Cobertura/JaCoCo とは対照的に、Atlassian Clover の計測はソース コードに基づいています。これが、追加の指示が表示される理由です。

参照:

Clover がソース コード インストルメンテーションを使用する理由

于 2013-12-06T12:03:59.293 に答える
0

この問題の根本原因を見つけることができました。インストルメント化されたコードが原因で発生しています。CheckStyle、PMD、Find Bug、Code Coverage (Clover) 用のプラグインがあります。Clover は、コードを計測してコード カバレッジを見つけます。この場合、Clover が最初に実行され、次に他のすべてのプラグインが実行されます。この結果、CheckStyle と PMD がインストルメント化されたコードに対しても実行され、無関係な警告がスローされます。これを解決するには、プラグインの実行順序を変更するか、インストルメント化されたコードを除外します。

于 2013-11-26T00:14:57.313 に答える