問題タブ [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.

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

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% の目的は何ですか?

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

java - Gradle で Jacoco レポートにソースコードを追加する方法

Gradle では、複数のプロジェクトがある場合、1 つのプロジェクトから Jacoco テスト カバレッジ レポートを生成し、他のプロジェクトのクラスをレポートに表示することができます。

そのために、Gradle 2.14 のJacocoReport ドキュメントには、次の2 つのディレクティブのペアがリストされています。

  • sourceDirectories&classDirectories
  • additionalSourceDirs&additionalClassDirs

ただし、どちらも単一の FileCollection と、すべてのプロジェクト ソース セットと出力ファイルに対するいくつかの接着剤を想定しており、レポートに埋め込まれた実際のソース コードを使用してコード行レベルのfiles()監査を取得するには、 onの呼び出しがsomeJavaProjectSourceSet.srcDirs必要です。

より良い方法はありますか?

0 投票する
3 に答える
173 参照

c# - IEnumerable の具体的な実装それは ICollection ではありません

IEnumerable を実装する .net フレームワークのクラスのいずれかが ICollection インターフェイスを実装していないかどうかを知りたいです。

私が書いた次の拡張メソッドでは 100% のコード カバレッジが得られないため、質問しています。

最後の行はどのテストでもカバーされておらず、それをカバーするためにインスタンス化する正しいクラスが見つかりません。

私のテストコードは次のとおりです。

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

android - テスト カバレッジを有効にすると、データ バインディング エラーがスローされる

マルチモジュールのAndroidプロジェクトがあります。モジュールとともにcoremainモジュールとして。

両方のモジュールでデータ バインディングを使用しています。しかし、コアモジュールプロジェクトのビルドでtestCoverageを有効にしようとすると、エラーで失敗します

これに関するヘルプをいただければ幸いです。

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

ruby-on-rails - Oauth モデル関連テスト カバレッジ スタブ

このクラスで 100% のテスト カバレッジを達成する最善の方法を見つけようとしています。完全な仕様の概要を説明しました。誰かが私を正しい方向に向けてくれることを願っています。私の仮定では、Oauth2 リクエストをスタブするとこれが行われますが、それを機能させることはできないようです。

Rails4を使用しています。

ここに画像の説明を入力

仕様

アップデート

現在の仕様を次のように変更しました。

ただし、現在、次のエラーが発生しています。

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

android - coverage.ec ファイルを Jacoco レポートに変換する

Android アプリのコード カバレッジを取得しようとしていますが、テストが失敗すると、jacoco レポートが生成されず、coverage.ec のみが生成されることに気付きました。

coverage.ec ファイルを jacoco レポートに変換する方法を知っている人はいますか?

これは私にとってはうまくいきませんでした:Jacocoがcoverage.ecをcoverage.emのないレポートに変換します

ではごきげんよう!

ジョニー

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

java - 静的メソッドで JMockit カバレッジ レポートを取得できないのはなぜですか?

単体テストからレポートを取得する必要があります。JMockit プラグインを見つけて使用し、テストに必要なさまざまな環境をモックしました。しかし、静的メソッドをモックすると、カバレッジ レポートを取得できないことがわかりました。模擬テストはすべて正常に実行されました。以下のレポートのスクリーンショットを参照してください。

取材結果 カバレッジ コード行

私のコードに問題はありますか?JMockit の経験が豊富な人が、これを手伝ってくれるかもしれません。ありがとう。

コードは次の場所から取得できます。

  1. Maven Pom ファイル
  2. 静的ソース コード
  3. テストコード