問題タブ [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.
ant - Sonar の JaCoCo にすべてのソース ファイルが含まれていない
Java 言語の Sonar で IT 取材に JaCoCo を使用しています。一部の IT コード カバレッジが報告されており、報告された結果は健全なようです。ただし、すべてのソース コードが IT カバレッジ分析に含まれているわけではないことに気付きました。「コンポーネント」ビューを見ると、多くの Java パッケージでルール %、cobertura 単体テスト カバレッジ % が表示されますが、IT カバレッジは表示されません。ファイルを含めたり除外したりしていません。したがって、このパッケージのコードがカバーされていない場合、IT カバー率は 0% と表示されると思いますか? 一連のファイルに % があるはずですが、Sonar は何も表示しません (ルール % と cobertura % が表示されます)。
いくつかのクラス ファイルを明示的に含めようとしますが、JaCoCo 分析にすべてのソースが含まれていない理由についてはまだ困惑しています。ルール違反が正常に機能するため、ファイルは Sonar にインポートされます。
sonarqube - sonar(JaCoCo) がパッケージのテストを要求するのはなぜですか?
アプリケーションのいくつかのテスト ホールを閉じようとしていますが、JaCoCo ソナー プラグインがパッケージ名をテストする必要があると考えているため、enum のカバレッジが小さいことがわかりました。
何故ですか?
列挙型の 1 つで 97% のカバレッジが示され、このようにパッケージ宣言の上に赤い線が表示され、テストするように指示されます...すべての列挙型と列挙型のみでそれを行います。
junit4 - 私のテストがJUnit4 TestSuiteにない場合、ソナー(JaCoCo)は0%のカバレッジを与えます
こんにちは、私はソナーを使用しています。気に入っています...
しかし、私は私の最新のプロジェクトでやや奇妙な動作をしています。
すべてのテストを JUnit 4 @TestSuite に入れると、JaCoCo を実行すると 86.2% (Groove baby !!!) のカバレッジが得られますmvn sonar:sonar
テストを単独で実行すると、単体テストが 100,0% 成功しても、カバレッジは 0% になります
このプロジェクトに TestSuite は必要ありません。JaCoCo がこれを行っている理由についての手がかりはありますか?
ところで: 私は Maven 2.2.1 + Sonar 3.4.1 + sonar-maven-plugin 1.0 を使用しています。
jacoco - antを使用するときにjacocoがクラスを除外しない
クラスをカバレッジから除外する jacoco/junit ant ターゲットを取得するのに問題があります。次のようなもので、パッケージを除外することができます:
テストクラスはテストするクラスと同じパッケージにあるため、これは私のテストクラスを除外しません。正規表現でテストクラスを除外するのにうんざりしましたが、うまくいきません。
また、必要なクラスをレポート タスクに含めようとしましたが、テスト クラスが同じパッケージに含まれているため、機能しません。ビルドでは、すべてのクラスが同じディレクトリ (buildRoot/classes/ProjectName など) に配置されます。したがって、buildRoot/classes/ProjectName/foo には、テストおよび非テスト クラス用にコンパイルされたクラスが含まれます。
このセットアップですべてのテストを除外するように jacoco を取得する方法について何か提案はありますか?
ありがとう。
maven - jacoco:report の後で jacoco-agent を無効にするにはどうすればよいですか?
「テスト」フェーズと「統合テスト」フェーズを使用するmavenプロジェクトがあります。テストフェーズでは JUnit テストが実行され、統合テストでは HTMLUnit テストが実行されます。プロジェクトの JUnit テストによって行われたコードカバレッジを測定する目的で Jacoco[1]-maven-plugin を使用しています。統合テストを行うとき、maven-embedded-glassfish-plugin を使用して Glassfish-server を起動し、テストを実行する前にアプリをデプロイします。
残念ながら、jacoco は「統合テスト」フェーズと調和しないため、当面は無効にする必要があります。
Jacoco のレポートの目標は、パッケージの準備段階で実行する必要があるため、統合テスト段階に影響を与えるべきではないと思います。しかし、jacoco:report を有効にすると、メモリ サイズの問題が原因で統合テストが実行されなくなります [2]。
統合テストフェーズに影響を与える jacoco:report を停止するにはどうすればよいですか?
[1] http://www.eclemma.org/jacoco/
[2]
sonarqube - JaCoCo はすべての Java プロジェクトのプロファイリングに成功しましたが、Sonar は 1 つのプロジェクトのみをカバーしています。
Sonar 3.2 + Java 1.6 + Ant 1.7 0 JBoss 1.5 を使用しています。多くの Java プロジェクトがあり、Ant はそれらを .ear ファイル、Java クラスなどを含む 1 つのビルド プロジェクトにコンパイルします。JaCoCo エージェントを JBoss JVM のパラメーターとして指定して、JBoss サーバーを起動しました。テキスト エディターで jacoco.exec ファイルを見ると、すべての Java プロジェクトからのトレースが含まれています (予想どおり)。
ただし、jacoco.exec ファイルを Sonar にインポートすると、Java プロジェクトの 1 つの IT コード カバレッジのみが表示されます。Sonar Ant 構成には、プロジェクトのすべての Java ソース ファイルとクラス ファイルを含めます。すべての Java ソースに対して違反が表示されるため、これらは問題なくインポートされているようです。
何が間違っている可能性がありますか?ところで。Sonar が jacoco.exec カバレッジ ファイルを Java ソース ファイルまたはコンパイル済みクラス ファイルと比較するのはどのファイルですか? 両方入れたけど…
maven - Maven マルチモジュール、外部テスト、JaCoCo、ソナー
私たちの会社では、プロジェクトにいくつかのモジュールがあり、各モジュールにはいくつかの単体テストがありますが、モジュールではなくクラスに基づくシステムテストがあります。システム テストでは、各モジュールのいくつかのクラスを使用します (すべてではありません)。このテストの統合カバレッジとユニット カバレッジを計算することはできません。システム テストの結果をマージして、すべての製品のカバレッジを計算したいと考えています。
これを行う方法を知っている人はいますか? 誰でも例を含むチュートリアルを提供できますか?
sonarqube - Sonarは、FindBugsの結果またはJaCoCo統合テストカバレッジのどちらかを選択するように強制します
私はソナーでこの奇妙な問題を抱えています。私はSonar3.2+ Ant + JaCoCo+Seleniumを使用しています。
Jenkinsを介して実行されるAntターゲットにsonar.binariesプロパティファイルを設定します。
1)生成された.classファイルを指すようにsonar.binariesプロパティを設定すると、FindBugsは正常に機能しますが、JaCoCo統合テストのカバレッジは0%と表示されます。0%は、クラスファイルがJBossサーバーにデプロイされている正確なファイルではないため、Sonarがマッピングを実行できないことが原因である可能性があります。
2).jarファイルを指すようにsonar.binariesプロパティを設定した場合(つまり、上記の.classファイルが含まれている場合)、FindBugsはビルド時に例外を発生させます。FindBugsを無効にすると、Sonarビルドは正常に終了し、今回はすべてのバイナリに対して正しいJaCoCoITコードカバレッジが得られます。
何かご意見は?:)
jsp - JaCoCo - レポートから JSP を除外
JaCoCo によって生成された Maven サイト レポートでは、コンパイル済みのすべての JSP が含まれている (そしてそれらが長い) ため、非常に悪いカバレッジしか得られません。で次のことを試しましたreporting
:
同様に見える別の構成は、フェーズbuild
の POM のセクションにあります。prepare-package
これは、JSP クラスがレポートに含まれるのを止めるものではありません。それを避ける方法は?
maven - 1 つのテスト フォルダーから多数のモジュールのコード カバレッジ (Sonar + JaCoCo + Maven) を測定できますか?
コードカバレッジ (Sonar + JaCoCo + Maven + Selenium (統合テスト)) に問題があります。これが私のプロジェクトの構造です。
「TESTS」フォルダの統合テストで、「CLIENT」モジュールと「SERVICE」モジュールのコードカバレッジを測定できますか?