0

emma で 2 つの jar を計測し、それらを同じ emma セッション ファイルに向けて、それらを同時に (クライアントとサーバーなどで) 実行した場合、動作するか失敗するかを期待できますか? jar は共通のソースから構築されているため、メタデータに問題はないと思います。

ドキュメントでこれについて何も見ていないので、そこにある場合はポインタを歓迎します。

4

1 に答える 1

1

いいえ、できません。エマは、プロセスの大部分が終了したときにインストルメンテーションの結果を書き出します。既存の位置にあるファイルを上書きしますが、テキストファイルも書き出すため、進行中のマージや複数のレポートのマージは直接サポートされていません。

ただし、 Groboと呼ばれるこれを行うのに役立つ可能性のあるプロファイリングツールがあります。すべてのイベントをログファイルに書き込み、そのログファイルを閉じる「安全な」プロファイリングモードがあります。これにより、複数のインスタンスを実行して同じ場所に出力し、プロセスをシャットダウンせずに最新のプロファイリング情報を提供できる場合があります。以前のバージョンではカバレッジレポートをマージできましたが、最新バージョンでは言及されていません。私は過去にTomcatが書き込みを完了する前にEmmaプロファイリングスレッドを強制終了していたときに使用しました。そのシナリオでは、セーフモードが機能して、すべてのカバレッジデータが問題なく書き込まれるようにしました。また、統合テストを使用すると非常に役立つ場合がある一連のテストの途中でカバレッジを取得するために使用することもできます。

他のオプション、そしておそらく最良のオプションは、Coberturaです。複数のレポートファイルをマージする機能があるため、各Javaプロセスを異なる出力ファイルで実行し、最後にそれらをすべてマージして、結合されたカバレッジのレポートを作成できます。

于 2009-08-17T11:53:14.347 に答える