問題タブ [jacoco]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
13 に答える
137277 参照

maven - マルチモジュールのMaven+Sonar + JaCoCoを構成して、マージされたカバレッジレポートを提供するにはどうすればよいですか?

私はこれをインターネットで上下に検索しました。${sonar.jacoco.reportPath}、、またはorg.jacoco:jacoco-maven-plugin:prepare-agentで設定maven-surefire-plugin argLineするなどのMavenプロパティに関係する、多くの半分の答えがあります-javaagent

どういうわけか、これらの答えのいずれも、それ自体で、または組み合わせて、私が求めているものを生み出していません:使用されているエンティティなど、スタックの上位のテストで使用された場合にカバーされたクラスを示すカバレッジレポートDAOによるものですが、独自のモジュールでのテストでは完全にはカバーされていませんでした。

これを達成するために、どこかに決定的な構成がありますか?

0 投票する
1 に答える
6234 参照

ant - JaCoCoSeleniumのテストコードカバレッジとAntを使用したSonarへのインポート

RHEL環境でJenkinsによってトリガーされたAntを介してSonarタスクを実行しています。JunitコードカバレッジにはCoberturaを使用し、レポートにはSurefireを使用しています。SonarはSurefireレポートを正常にインポートします。

ただし、現在、JenkinsでAntを使用してSeleniumテストを実行しています。コードカバレッジとテスト結果をSonarに報告したいと思います。どうやら私はコードカバレッジを分析してテストを報告するJaCoCoプラグインが必要です。単体テストの場合と同様に、Jenkinsがその役割を果たし、Sonarはレポートを独自のリポジトリにインポートするだけだと思います。

私は実際にこれを行う方法に戸惑っています。Webページhttp://www.sonarsource.org/measure-coverage-by-integration-tests-with-sonar-updated/JaCoCoページへの参照http://www.eclemma.org/jacoco/trunk/doc/ ant.html。どのような手順を実行するのかわかりません。カバレッジターゲットは必要ですか?エージェントのみを起動する必要がありますか?Antのどこでエージェントを開始しますか?ものを捨てる必要がありますか?

私は私が得ることができるすべての助けに本当に感謝しています、ありがとう:)

0 投票する
1 に答える
434 参照

ant - 単体テストに Cobertura を使用し、統合テストに JaCoCo を同時に使用する方法は?

AntでSonar 3.2を使用しています。単体テスト分析には Cobertura を使用し、統合テスト分析には JaCoCo を使用できるはずだと読みました。ただし、Ant でこれを行う方法についての明確なガイドは見つかりませんでした。コード カバレッジ エンジンを次のように Cobertura に設定しました。

Cobertura の分析が完了した後、JaCoCo に「リセット」できますか? 次に、次のようになります。

ありがとう

0 投票する
2 に答える
3314 参照

ant - JaCoCo を使用したソナー IT は 0% のコード カバレッジを提供します

Ant を使用して RHEL6 マシンで Sonar Java コード分析を実行しています。統合テスト分析には、ソナー用の JaCoCo プラグインを使用しています。ライブラリのクラスパスにプラグインがあります。Selenium テストを実行すると、「jacoco.exec」ファイルが生成されます (10 回のテストで約 1MB)。次に、Sonar Ant ターゲットで Jacoco プラグインを有効にして、Sonar にインポートします。ソナー分析ログは、Jacoco ファイルが分析されたことを示しています (約 5000 ミリ秒かかりました)。ただし、My Sonar IT ウィジェットには 0% のコード カバレッジが表示されます。Cobertura を使用して、ユニット テストのコード カバレッジを取得することに成功しました。

私のテストターゲット:

私のSonar Antターゲット:

「関連する」ものだけを含めようとしました。「jacoco:coverage」要素が Selenium テストに適しているかどうかはわかりませんが、実行ログでは「エージェント」について言及されているため、ここではエージェントが Java VM のプロキシとしても使用されていると想定しています。

私は立ち往生しています、助けてください:)

更新され たソナー出力の一部を次に示します。

0 投票する
1 に答える
2256 参照

integration-testing - Jacoco-IntegrationTests のコード カバレッジ

私はこの問題を乗り越えることができません.ABとCの3つのクラスがあります.

A は、クラス B と C を一緒にテストする統合テスト クラスです。

B と C は別のパッケージのクラスです (クラス A に関して)

統合テスト クラス A を実行すると、コード カバレッジに B と C のどの部分がカバーされているかが表示されます。必要な出力が得られません。

出力として得られるのは、クラスがインストルメント化されていないことです。

そのため、2 つのクラスのテスト カバレッジはありません。A と同じモジュールの src/main/java にサンプル コードを記述すると、クラスが認識され、インストルメント化されます。

パッケージ外のクラスに対して同じことができないのはなぜですか。

親切に助けてください。ありがとう

0 投票する
0 に答える
1219 参照

java - Jacoco Mvn プラグインはすべての単体テストに失敗します

ここで混乱しています。私はmaven 3、Java 1.6を実行しており、mavenプロジェクトを構成しています。すべての単体テストを含め、すべてが機能します。ここで、このように構成されたJacocoプラグインを追加します

今、mvn clean package を実行しようとすると、単体テストに合格せず、カバレッジ レポートもまったくありません。

誰かが私が間違っているところを指摘できますか?

前もって感謝します

0 投票する
1 に答える
896 参照

selenium - Cobertura と比較して、Sonar での統合テスト用の JaCoCo は実際にどのように機能しますか?

Cobertura は、最初に 1) トレース対象のソース ファイルを計測し、2) 単体テストを実行して計測されたクラスと比較します。このようにして、コードカバレッジを計算できます。

ただし、統合テスト用の JaCoCo (Selenium) では、ドキュメントでこの「インストルメンテーション」フェーズを見たことがありません。JaCoCo エージェントは、テストの実行時に「その場で」対象となるソース コードを動的にトレースするように設定されています。コードは Cobertura のように事前にインストルメント化されていないため、JaCoCo はどのソース コードと比較する必要があるかをどのように知るのでしょうか? また、一部のソース コードを除外したい場合はどうすればよいですか?

0 投票する
1 に答える
346 参照

ant - Jacoco Agent は、テストが実行される JVM に追加する必要がありますか?それとも、アプリ サーバーが実行されている JVM に追加する必要がありますか?

JBoss サーバーのアプリケーションに対して実行される Selenium テストを計測しています。多くのドキュメントでは、Jacoco エージェントをパラメーターとして JVM に追加する必要があると記載されています。ただし、Selenium テストが実行されている JVM を意味するのか、JBoss アプリケーション サーバーが実行されている JVM を意味するのかは明記されていません。それらはまったく異なるマシンです。では、Jacoco エージェントは次の場所に追加されます。

ありがとう。

0 投票する
1 に答える
10741 参照

selenium - JaCoCoエージェントをアプリケーションサーバーに接続する方法

私はJBossを使用しており、JenkinsからSeleniumテストを実行しています。Seleniumテストからコードカバレッジを測定したいので、どうやらJaCoCoJavaエージェントをサーバーに接続する必要があります。私はこのようにしました:

ただし、出力ファイルは生成されません。ここでは、Jenkinsパスのjacocoagent.jarを指していますが、jacocoagent.jarとjacoco.execがJenkinsではなく実際のサーバーパスに含まれている必要がありますか?

0 投票する
1 に答える
692 参照

code-coverage - 非 Web サービス モジュールの Sonar + jacoco エージェント コード カバレッジ

JaCoCo エージェントを使用して"-javaagent..."、Jetty に追加し、外部 Selenium テスト (または手動テストなど) を実行して、Web サイトの FT コード カバレッジを収集しようとしています。

テストの最後に、実際にJettyで実行されたweb-moduleの結果のみが得られましたが、web-moduleで使用されている(同じプロジェクト内の)「コア」モジュールの結果はありません。では、プロジェクトのすべてのモジュールの呼び出しを収集する機能はありますか?

実際、私はすべてのプロジェクト Web サービス (5 つある) を同じ JaCoCo レポートの宛先 (つまり/tmp/jacoco-res.exec) で開始しようとしappend=true、実行しました:

そのため、ソナーはプロジェクト内のすべてのモジュールに同じJaCoCo レポート ファイルを使用するようになり、ソナーは jetty-run モジュールとコア モジュールの両方のテスト カバレッジを示します。

このアプローチは適用可能で、カバレッジ結果は正しいですか?