問題タブ [test-coverage]
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.
javascript - Chutzpah カバレッジの結果が 100% 未満 (プライベート メソッドのため?)
Chutzpah を使用して、JavaScript テスト カバレッジをテストしています。単一のテスト ファイルreferenceFigureEdit.spec.jsを実行したときのカバレッジ結果の例を次に示します。
カバレッジは 100% であると期待していますが、91.07% しかありません。
最初の行をクリックすると、テストしたコードを詳細に調べることができます。「テストでカバーされていない」行が強調表示されます。
質問 A :
どうやって
- これらのメソッドが実際に実行されたことを Chutzpah に伝えるか、
- Chutzpah にこれらの行をカバレッジ結果に含めないように指示しますか?
成功したカバレッジの一部としてコードを実行する必要がある場所/時期について、いくつかの制限はありますか? it-method 内でデリゲートを呼び出します。テスト中のモジュールの構築中にそれらを呼び出す必要がありますか?
テストしたコードでは、コンストラクター (new saveCommand(..., showErrors) など) に渡されるいくつかのデリゲート メソッド ("showErrors" など) を定義しています。そのデリゲートのメソッド宣言は強調表示され、カバレッジには含まれません。ただし、これらのデリゲートは実際にはテスト中に実行されるため、カバレッジは 100% になると予想されます。
showErrors デリゲートのコードがプライベートであっても、テストしたいと思います (プライベート メソッドをテストする必要があるかどうかは、ここでの私の質問ではありません)。テストでデリゲートを実行するために、saveCommand をモックします。モック化された saveCommand は、渡されたデリゲートを発行し、テストで明示的に呼び出します。
テストは正常に実行され、私にとっては問題ありません。ただし、カバレッジの結果は期待どおりではありません。
質問 B :
参照ファイル errorhandler.js の主なカバレッジ結果は、27.59% のカバレッジを示しています。errorhandler.js のテストはまだありません。この数字は、メイン ファイルの referenceFigureEdit.js の実行中に、errorhandler.js の既存の 29 個のステートメントのうち 8 個が実行されることを意味しますか? メイン ファイルは errorhandler.js を直接参照していますが、utils.js を直接参照していません。これらの「サブ番号」を正しく解釈する方法と、 Total of 47.66% の目的は何ですか?
java - Gradle で Jacoco レポートにソースコードを追加する方法
Gradle では、複数のプロジェクトがある場合、1 つのプロジェクトから Jacoco テスト カバレッジ レポートを生成し、他のプロジェクトのクラスをレポートに表示することができます。
そのために、Gradle 2.14 のJacocoReport ドキュメントには、次の2 つのディレクティブのペアがリストされています。
sourceDirectories
&classDirectories
additionalSourceDirs
&additionalClassDirs
ただし、どちらも単一の FileCollection と、すべてのプロジェクト ソース セットと出力ファイルに対するいくつかの接着剤を想定しており、レポートに埋め込まれた実際のソース コードを使用してコード行レベルのfiles()
監査を取得するには、 onの呼び出しがsomeJavaProjectSourceSet.srcDirs
必要です。
より良い方法はありますか?
c# - IEnumerable の具体的な実装それは ICollection ではありません
IEnumerable を実装する .net フレームワークのクラスのいずれかが ICollection インターフェイスを実装していないかどうかを知りたいです。
私が書いた次の拡張メソッドでは 100% のコード カバレッジが得られないため、質問しています。
最後の行はどのテストでもカバーされておらず、それをカバーするためにインスタンス化する正しいクラスが見つかりません。
私のテストコードは次のとおりです。
android - テスト カバレッジを有効にすると、データ バインディング エラーがスローされる
マルチモジュールのAndroidプロジェクトがあります。モジュールとともにcore
、main
モジュールとして。
両方のモジュールでデータ バインディングを使用しています。しかし、コアモジュールプロジェクトのビルドでtestCoverageを有効にしようとすると、エラーで失敗します
これに関するヘルプをいただければ幸いです。
android - coverage.ec ファイルを Jacoco レポートに変換する
Android アプリのコード カバレッジを取得しようとしていますが、テストが失敗すると、jacoco レポートが生成されず、coverage.ec のみが生成されることに気付きました。
coverage.ec ファイルを jacoco レポートに変換する方法を知っている人はいますか?
これは私にとってはうまくいきませんでした:Jacocoがcoverage.ecをcoverage.emのないレポートに変換します
ではごきげんよう!
ジョニー
java - 静的メソッドで JMockit カバレッジ レポートを取得できないのはなぜですか?
単体テストからレポートを取得する必要があります。JMockit プラグインを見つけて使用し、テストに必要なさまざまな環境をモックしました。しかし、静的メソッドをモックすると、カバレッジ レポートを取得できないことがわかりました。模擬テストはすべて正常に実行されました。以下のレポートのスクリーンショットを参照してください。
私のコードに問題はありますか?JMockit の経験が豊富な人が、これを手伝ってくれるかもしれません。ありがとう。
コードは次の場所から取得できます。