問題タブ [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.
jenkins - Jenkins、Sonar、および JaCoCo プラグインを Eclipse Tycho Plugin Projects (または Cobertura) で連携させるにはどうすればよいですか?
私のセットアップは次のとおりです。
- ジェンキンス 1.448
- ソナー2.13
- ジェンキンス ソナー プラグイン 1.72
- Sonar 用の MySql データベース
次のプロジェクトがあります。
- Eclipse プラグイン プロジェクト
- Mavenの使用
- 複数のモジュール (親 maven プロジェクト、ソース プラグイン プロジェクト、テスト フラグメント プロジェクト)
- ソース プラグイン プロジェクトのクラスをテストする単純な JUnit テスト
現時点でのプロセスは次のとおりです。
- Jenkins は SVN から親プロジェクトをチェックアウトします
- Jenkins は Maven と Tycho を使用してプロジェクトとそのモジュールをビルドします
- Jenkins は Surefire を使用してテストを実行し、レポートを作成します。
- Jenkins は Jenkins Sonar プラグインを使用して mvn sonar:sonar を起動し、コード分析を実行します
- 各モジュールで静的コード分析が行われます
- JaCoCo 失敗
Sonar には、利用可能な静的コード分析統計があり、テストの成功率が表示されます。欠けているのは、JaCoCo のコード カバレッジだけです。または、Cobertura のコード カバレッジでさえあるかもしれません。
この時点ではあまり気にしません。これらのいずれかでコード カバレッジの結果が得られるようにしたいだけです。
Cobertura はおそらく結果を生成できないようです - コードをインストルメント化できない - インストルメント化されたコードを間違った場所で探す - Tycho または別のソース/テスト コードのセットアップに対応できない
JaCoCo はその場でコード カバレッジを「監視」できるはずですが、その出力は
私は何を間違っていますか?どこかの pom.xml で JaCoCo を有効にする必要がありますか? シュアファイアが必要ですか?Cobertura を使用するには何が必要ですか?
maven - sonar2.12 (Multi Module maven) 用に jacoco エージェントを構成する
Sonar の最新バージョン 2.12 には Jacoco プラグインが統合されており、マルチモジュール プロジェクトのコード カバレッジ部分に使用したいと考えています。
私はこのような構造を持っています
プロバイダー プロジェクトのテスト ケースはテスト プロジェクトにあります。ソナーでコード カバレッジ プラグインを jacoco として設定すると、正常に実行されますが、結合されたコード カバーはダッシュボードに表示されません。1 つの jacoco.exec ファイルで問題を解決できるという投稿を見たことがありますが、解決できません。
以下のようにpomで以下を設定しようとしました
しかし、maven コマンドライン「 mvn clean install 」では、次のエラーが発生します。
C:\sonar-2.12\war\sonar-server\deploy\plugins\jacoco\META-INF\lib\org.jacoco.agent-0.5.3.201107060350.jar で Premain-Class マニフェスト属性が見つかりませんでした の初期化中にエラーが発生しましたVM エージェント ライブラリの初期化に失敗しました: インストゥルメント
誰でもこれについて何か助けを提供できますか?
jboss - JaCoCo を使用した JBoss AS 7 テストスイートのコード カバレッジ - jacoco.exec ファイルにデータなし
JBoss AS 7 のカバレッジを取得しようとしています。これが私のブランチです: https://github.com/OndraZizka/jboss-as/tree/TS-jacoco
実行するmvn clean install -rf testsuite -DallTests -Dcoverage -fae
と、(ほとんど)空のjacoco.exec
ファイルが得られます-メタデータだけです(サイズは数バイトです)。使用される JVM arg 行は次のとおりです。
この行は Arquillian に渡され、JBoss AS 7 を起動するために使用されます。テストスイートが実行され、引数が渡されます (AS7 の boot.log に表示されます) が、結果のjacoco.exec
ファイルのサイズはわずか数バイトです。もちろん、レポートにはカバレッジが表示されません。
私は何を間違っていますか?
code-coverage - JaCoCo テスト カバレッジ: jar 内のクラスをレポートから除外する方法は?
JBoss AS 7 統合テストスイートでは、コード カバレッジに JaCoCo を使用します。私はすでに実行データを持っています。レポートを生成すると、「同じ名前の別のクラスを追加できません: ...」というメッセージが表示されるため、いくつかの jar を除外する必要があります。
問題は、重複するクラスが 1 つだけであることです ( org/jboss/osgi/metadata/internal/AbstractPackageAttribute
)。jar全体ではなく、その特定のクラスのみを除外したい。
私はもう試した:
しかし、それはうまくいきません。のような特別な構文はあります.../foo.jar!**/ClassName.class
か?
java - groovy コードでテストされた Java コードのコード カバレッジ
メインコードがJavaで書かれている小さなプロジェクトがありますが、テストはほとんどグルーヴィーなコードです。コード カバレッジ (Sonar によって呼び出される) に JaCoCo を使用する場合、コード カバレッジは Java コードで行われません。不思議なことに、以前 (JaCoCo を組み込んだソナー バージョン 2.12 より前) に機能したことを覚えています。
誰もそれを修正する方法を知っていますか?
java - Pax-Exam で Jacoco を使用する
私は現在、OSGi モデルに基づいて構築されたアプリケーションに取り組んでいます。私のアプリケーションのすべてのテスト プロセスは、Karaf を使用して新しい JVM を作成する Pax-Exam を使用して行われます。
統合テストのコード カバレッジに Jacoco を使用しようとしましたが、うまくいかないようです。(mavenプラグインで)使用しているとき、作成されたjacoco.execファイルは空です。
Pax-Exam は Karaf を介してテストを実行するための新しい JVM を作成しているため、テストを実行する新しい JVM にまったく同じ arg 行を使用するために、javaagent で Pax-Exam オプションを設定しました。残念ながら、うまくいきません。
Pax-Exam/Karaf/OSGi のすべての部分を使用せずに Jacoco を使用しようとしましたが、うまく動作しますが、OSGi バンドルで動作させる方法がわかりません。
誰かがそれを手伝ってくれることを願っています!
maven - Sonar は、Test クラス自体の JaCoCo カバレッジをレポートします。これは正しいです?これを変更するにはどうすればよいですか?
Eclipse プラグインのマルチモジュール Maven プロジェクトがあります。
JaCoCo を使用したコード カバレッジ レポートの生成は機能していますが、統計は間違っているようです。
テスト クラス自体のカバレッジが計算され、一般的なコード カバレッジのパーセンテージに追加されます。
例:
- org.myplugin というプラグインのカバレッジは 50% で、100 行のコードがあります。
- org.myplugin.tests というテスト プラグインのカバレッジは 100% で、100 行のコードがあります。
- 一般的なコード カバレッジのパーセンテージは、75% または 150 行のコードになります。
もちろん、これは正確ではありません。重要なのは、カバレッジが通常のコードの 50% しかないということです。
これは正常な動作ですか?テストクラスのカバレッジを除外するにはどうすればよいですか?
編集: ここに、いくつかの POM ファイルの関連部分を示します。
プロジェクト POM:
プラグイン POM:
テスト プラグイン POM:
java - ソナーでは、テストカバレッジをテストごとに表示するにはどうすればよいですか?
ダッシュボードのカバレッジウィジェットをドリルダウンして、コードとブランチカバレッジを確認できることはわかっています。ただし、個々のテストでカバーされるソースファイルとコード行を確認したいと思います。ソナーはこれを逆にサポートしていないようです。サポートされていない場合、Sonarを構成してそのようにする方法はありますか?参考までに、現在、テストカバレッジにJaCoCoを使用しています。どんな情報でも大歓迎です!
tomcat - jacoco + tomcat = jacoco.exec、カバレッジがゼロであることを報告します。ヘルプ。
TomcatにWebアプリケーションをデプロイしています。詳細に入る前に、バージョンを詳しく説明します。
バージョン:jdk 1.7、Tomcat-7.0.19、jacoco -0.5.6
Tomcatにjdk1.7を追加しました。\ apache-tomcat-7.0.19 \ bin\startup.batファイルに追加しました。
また、Tomcatにjacocoエージェントを追加しました。apache-tomcat-7.0.19 \ bin\catalina.batに追加しました。
さて、Tomcatを起動して、Webアプリケーションにアクセスすると、予想どおり、C:\jacoco.execファイルがあります。
これで、コードを次のディレクトリ構造に移動しましたjacoco.exec / bin / / coveragereport
これで、 http: //www.eclemma.org/jacoco/trunk/doc/examples/java/ReportGenerator.javaのクラスReportGeneratorを使用しました。/coveragereportディレクトリにHTML形式のレポートがたくさんあります。ただし、すべてのコードは変更されていないものとして表示されています。Tomcatを起動した後、http:// localhost:/にアクセスして、閲覧しました。カバレッジ率を報告してもらいたいと思っていました。
非常に基本的なものが欠けています。助けてください。
java - ソナーからJaCoCo統合カバレッジを取得
sonarJavaWebサービスクライアントAPIを使用してアプリケーションを開発しています。JaCoCoプラグインからクラスごとの統合テストコードカバレッジを取得したいと思います。これはこのAPIで実行できますか?