2017-04-24 18 views
1

私は3つのjacoco.execファイルを持っています。私はファイルをマージして、merged.execファイルとして出力することができます。複数のjacoco.execファイルをマージすると、マージされたファイルサイズが小さくなり、異なるコードが表示されますか?

しかし、私のmerged.execファイルは結合ファイルサイズよりも小さいです。 例ファイルサイズ:

1st jacoco.exec = 1789 KB = Code Coverage = 4% 
2nd jacoco.exec = 925 KB = Code Coverage = 3% 
3rd jacoco.exec = 510 KB = Code Coverage = 4% 
------------------------- 
Merged.exec = 625 KB = Code Coverage = 5% 
======================================================================== 

これにより、私は最終的な出力からカバレッジパーセンテージを取得しています。

マージされたファイルの計算がわかりません。どのようになっていますか? マージ処理の背後にある計算を説明してください。

答えて

1

"append"でjacoco.execファイルが作成された場合、そのファイルには異なるセッションのデータが含まれます。このファイルをマージすると、異なるセッションのデータもマージされます。したがって、結果のファイルのファイルサイズは小さくなります。

ただし、マージされたファイルのコードカバレッジ率は常に同じかそれ以上です。

関連の議論:(jacocoから)絞りかすからhttps://groups.google.com/forum/#!topic/jacoco/msl5rGuz1dw

は確かにこれは正しいことができます。 execファイルには、セッションごとに実行データ が格納されます。各クラスの実行データをマージするときは、 が統合されシングルダンプとして書き込まれます。

execに複数のセッションが含まれている場合、 thifファイルのマージバージョンは小さくなります。 exec ファイルを確認することで確認できます。

関連する問題