問題タブ [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.
maven - マルチモジュールのMaven+Sonar + JaCoCoを構成して、マージされたカバレッジレポートを提供するにはどうすればよいですか?
私はこれをインターネットで上下に検索しました。${sonar.jacoco.reportPath}
、、またはorg.jacoco:jacoco-maven-plugin:prepare-agent
で設定maven-surefire-plugin
argLine
するなどのMavenプロパティに関係する、多くの半分の答えがあります-javaagent
。
どういうわけか、これらの答えのいずれも、それ自体で、または組み合わせて、私が求めているものを生み出していません:使用されているエンティティなど、スタックの上位のテストで使用された場合にカバーされたクラスを示すカバレッジレポートDAOによるものですが、独自のモジュールでのテストでは完全にはカバーされていませんでした。
これを達成するために、どこかに決定的な構成がありますか?
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のどこでエージェントを開始しますか?ものを捨てる必要がありますか?
私は私が得ることができるすべての助けに本当に感謝しています、ありがとう:)
ant - 単体テストに Cobertura を使用し、統合テストに JaCoCo を同時に使用する方法は?
AntでSonar 3.2を使用しています。単体テスト分析には Cobertura を使用し、統合テスト分析には JaCoCo を使用できるはずだと読みました。ただし、Ant でこれを行う方法についての明確なガイドは見つかりませんでした。コード カバレッジ エンジンを次のように Cobertura に設定しました。
Cobertura の分析が完了した後、JaCoCo に「リセット」できますか? 次に、次のようになります。
ありがとう
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 のプロキシとしても使用されていると想定しています。
私は立ち往生しています、助けてください:)
更新され たソナー出力の一部を次に示します。
integration-testing - Jacoco-IntegrationTests のコード カバレッジ
私はこの問題を乗り越えることができません.ABとCの3つのクラスがあります.
A は、クラス B と C を一緒にテストする統合テスト クラスです。
B と C は別のパッケージのクラスです (クラス A に関して)
統合テスト クラス A を実行すると、コード カバレッジに B と C のどの部分がカバーされているかが表示されます。必要な出力が得られません。
出力として得られるのは、クラスがインストルメント化されていないことです。
そのため、2 つのクラスのテスト カバレッジはありません。A と同じモジュールの src/main/java にサンプル コードを記述すると、クラスが認識され、インストルメント化されます。
パッケージ外のクラスに対して同じことができないのはなぜですか。
親切に助けてください。ありがとう
java - Jacoco Mvn プラグインはすべての単体テストに失敗します
ここで混乱しています。私はmaven 3、Java 1.6を実行しており、mavenプロジェクトを構成しています。すべての単体テストを含め、すべてが機能します。ここで、このように構成されたJacocoプラグインを追加します
今、mvn clean package を実行しようとすると、単体テストに合格せず、カバレッジ レポートもまったくありません。
誰かが私が間違っているところを指摘できますか?
前もって感謝します
selenium - Cobertura と比較して、Sonar での統合テスト用の JaCoCo は実際にどのように機能しますか?
Cobertura は、最初に 1) トレース対象のソース ファイルを計測し、2) 単体テストを実行して計測されたクラスと比較します。このようにして、コードカバレッジを計算できます。
ただし、統合テスト用の JaCoCo (Selenium) では、ドキュメントでこの「インストルメンテーション」フェーズを見たことがありません。JaCoCo エージェントは、テストの実行時に「その場で」対象となるソース コードを動的にトレースするように設定されています。コードは Cobertura のように事前にインストルメント化されていないため、JaCoCo はどのソース コードと比較する必要があるかをどのように知るのでしょうか? また、一部のソース コードを除外したい場合はどうすればよいですか?
ant - Jacoco Agent は、テストが実行される JVM に追加する必要がありますか?それとも、アプリ サーバーが実行されている JVM に追加する必要がありますか?
JBoss サーバーのアプリケーションに対して実行される Selenium テストを計測しています。多くのドキュメントでは、Jacoco エージェントをパラメーターとして JVM に追加する必要があると記載されています。ただし、Selenium テストが実行されている JVM を意味するのか、JBoss アプリケーション サーバーが実行されている JVM を意味するのかは明記されていません。それらはまったく異なるマシンです。では、Jacoco エージェントは次の場所に追加されます。
ありがとう。
selenium - JaCoCoエージェントをアプリケーションサーバーに接続する方法
私はJBossを使用しており、JenkinsからSeleniumテストを実行しています。Seleniumテストからコードカバレッジを測定したいので、どうやらJaCoCoJavaエージェントをサーバーに接続する必要があります。私はこのようにしました:
ただし、出力ファイルは生成されません。ここでは、Jenkinsパスのjacocoagent.jarを指していますが、jacocoagent.jarとjacoco.execがJenkinsではなく実際のサーバーパスに含まれている必要がありますか?
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 モジュールとコア モジュールの両方のテスト カバレッジを示します。
このアプローチは適用可能で、カバレッジ結果は正しいですか?