1

Java ベースのアプリケーションのライン カバレッジ分析を行おうとしています。Sonar+JaCoCo プラグインを使用してライン カバレッジの結果を取得する方法について、インターネット上で多くのリソースを見つけましたが、非常に有望に見えます。ただし、このソリューションを実装する方法を完全に明確にすることはできませんでした。

私のプロジェクトの詳細:

  1. Web サイトから呼び出されるサービスがあります。このサービスは Java ベースで、maven を使用して構築されています。

  2. Web サイトで実行されるセレン ベースのテスト スイートもあります (上記のサービスをいくつかのインスタンスで呼び出します)。テスト スイートは、Ant によってビルドおよび呼び出されます。

  3. サービスのコード ベースとテストのコード ベースは、同じホストの別の場所にあります。

  4. 統合テスト スイートに基づいてサービスのカバレッジ レポートを生成する必要があります。

私が経験したリソースは次のとおりです。

これらすべてを行った後でも、jacoco-agent.jar をどこに配置するか、jacoco を maven (サービスのビルド プロセス) または ant (テストのビルド プロセス) の一部にするかどうか、jacoco エージェントを呼び出す方法がわかりません。ソース リポジトリ (サービスのコード ベース) とテスト リポジトリの場所を指定します。

上記のすべてのブラインド順列を試しましたが、jacoco タスクを追加するとすぐに、maven ビルドまたは ant ビルドのいずれかが失敗し始めます。

誰かがこれで私を助けてくれますか? それを行うには、従うべき正確な手順を理解する必要があります。

4

1 に答える 1

1

テストモードでサーバープロセスを実行するときは、jacoco エージェントがクラスパスに設定されていることを確認する必要があります。jacoco エージェントは、JVM の存続期間中、対象となるコードの詳細を効果的にリッスンして記録します。

次に、サーバーを呼び出すクライアント側のセレン テストを実行します。この場合の jacoco エージェントは、テストの一部として実行されたコードの詳細を記録します。クライアント テストが終了したら、サーバー プロセスをシャットダウンする必要があります。これにより、jacoco カバレッジ ファイルが作成されます。

最後のステップは、カバレッジ レポートに基づいて jacoco html レポートを生成することです。ANT ベースのセレン テストを Maven pom に移動することを検討することをお勧めします。そうすれば、テスト実行の順序を制御しやすくなります。

于 2013-08-15T09:09:27.617 に答える