Emma を使用するには、まず Emma を使用して jar を計測します。その間、em メタデータ ファイルが生成され、インストルメント化された jar に対して JUnit テスト ケースを実行すると、ec ファイルが生成されます。カバレッジ レポートの生成に使用されます。
私の質問は、テスト ケースを実行しているときに em ファイルへのパスを指定していないということです。また、Emma が実行中にポートを使用すると聞いたことがあります。そのポートは何ですか?
Emma を使用するには、まず Emma を使用して jar を計測します。その間、em メタデータ ファイルが生成され、インストルメント化された jar に対して JUnit テスト ケースを実行すると、ec ファイルが生成されます。カバレッジ レポートの生成に使用されます。
私の質問は、テスト ケースを実行しているときに em ファイルへのパスを指定していないということです。また、Emma が実行中にポートを使用すると聞いたことがあります。そのポートは何ですか?
Emma は、インストルメンテーション フェーズでバイトコード操作と呼ばれる機能を使用します。インストルメント化されたクラス ファイルを逆コンパイラで開くと、数行のコードが追加されていることがわかります。
レポートを行うのは、この追加コードです。その特定の行番号のコードが実行されたことを示す単純なログと同じくらい単純なものになります。
レポートを生成するとき、emma はec
ファイルを使用して、人間が判読できる形式のレポートを生成します。
アンドリュー、デフォルトでは、EMMA は現在のフォルダーを使用して、coverage.em ファイルを探します。TCP ポートでリッスンしているとは思えません。EMMA ソース コードをすばやくスキャンしたところ、ソケットへの参照が見つかりませんでした。インストルメンテーション用のクラスパスからクラス ファイルをロードするための URL のみを使用しています。