2009-08-17 14 views
0

2つのjarファイルをemmaでインストルする場合、同じemmaセッションファイルを指定してそれらを同時に実行します(クライアントとサーバなど)。 jarファイルは共通のソースから構築されているため、メタデータに問題はないと私は考えています。emmaは、複数のプロセスによるセッション・ファイルへの同時書き込みをサポートしていますか?

私はこれについてドキュメントで何も見なかったので、そこにあれば確かに歓迎されるでしょう。

答えて

1

いいえできません。 Emmaは、プロセスが大部分を終了したときに計測器の結果を書き出します。既存の位置にあるファイルはすべて上書きされますが、テキストファイルも書き出されており、複数のレポートをまとめたりマージしたりする際にマージを直接サポートすることはできません。

これには、Groboという名前のプロファイルツールがあります。プロファイリングモードでは、すべてのイベントをログファイルに書き込み、そのログファイルを閉じます。これにより、複数のインスタンスを実行して同じ場所に出力し、プロセスを停止することなく最新のプロファイリング情報を得ることができます。カバレッジレポートのマージを許可するために使用されていた古いバージョンですが、最新バージョンではそれについて言及していません。私はこれまで、Tomcatが書き出しを完了する前にEmmaプロファイリングスレッドを殺していた過去にそれを使用しました。そのシナリオでは、すべてのカバレッジデータが問題なく書き込まれたことを保証するためにセーフモードが働いていました。また、統合テストを使用して時には非常に便利な一連のテストを通して、カバレッジを部分的に取得するためにも使用できます。

もう1つのオプション、おそらく最も良い方法はCoberturaです。それは複数のレポートファイルをマージする機能を持っているので、それぞれのJavaプロセスを異なる出力ファイルで実行し、最後にそれらをすべてマージして、結合されたカバレッジのレポートを作成することができます。

関連する問題