問題タブ [karma-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 - SonarQube が lcov から JavaScript テスト カバレッジを読み取らない
Karma テストを maven に統合し、SonarQube を使用してテスト カバレッジ レポートを作成する作業を行っています。
HTML カルマ テスト カバレッジ レポート (カバレッジ タイプ HTML in karma.conf.js
) を表示できますが、タイプが lcov in の場合、SonarQube で結果を表示できませんkarma.conf.js
。
の内容pom.xml
実行すると、プロパティmvn clean install sonar:sonar
に記載されている lcov.info ファイルが作成<sonar.javascript.lcov.reportPath>
されます。
lcov.info
ファイルの内容:
実行後、SonarQube ダッシュボードに js コード違反が表示されますが、コード カバレッジは表示されません。
での構成karma.conf.js
:
使用しているSonarQubeのバージョンは5.0.1
、jsプラグインのバージョンは2.11
問題は相対パスにあると思います。これらのリンクhereとherelcov.info
を調べて、手動でファイルを相対的に指すように SF パスを更新しようとしましたが、すべて役に立ちませんでした。% はまだ 0 です。
ここで何か間違ったことをしている場合はお知らせください。以下のコンソール ログ。参照されているすべてのパスは正しいものです。
angular - Angular Karma WARN [web-server]: テストの実行中に 404
angular2、sass、およびng2-bootstrapのベースプロジェクトをセットアップしようとして頭を悩ませてきました。このプロジェクトはangular2-seedプロジェクトに基づいており、コードベース全体をここで見つけることができます: https://github.com/ omargon/angular-seed-sass-ng2-bootstrap dev と prod ディストリビューションの両方で、すべてが期待どおりにビルドされます。しかし、uni および e2e テストを実行しようとすると、常に次のエラーが発生します。
どんな助けでも大歓迎です。
angular - Karma カバレッジが Angular rc1 で機能しない
Angular RC1 の後、Karma を再構成する必要がありました。すべてのテストは現在正常に実行されています。唯一の未解決の問題は次のとおりです。何かを表示するためにカルマ カバレッジを修正できませんでした (常に 100% を表示)
私のカルマ.conf
node.js - Karma コード カバレッジが Webpack で正しくない
現在、Webpack のテスト ランナーとして Karma を使用しています。テストを含まない単純なテスト ファイルでは、92.86% のステートメント カバレッジ、50% の分岐カバレッジ、100% の関数カバレッジ、92.86% の行カバレッジが得られることに気付きました。
カバレッジが不足している場所を確認すると、テストでカバーされていないため、Webpack によってモジュールに挿入されたこのコード (10 行目) が表示されます。
Webpack がこのコードをモジュールに挿入しているため、これをテストすることはできません。では、この種の情報がカバレッジ レポートに含まれないようにするにはどうすればよいでしょうか。
カバレッジ レポートが提供するレンダリング ファイル全体は次のとおりです。
コード カバレッジ レポートの一部として jQuery や Webpack アイテムなどを含めたくありません。上記のコードのようなものをテストから除外するにはどうすればよいですか? テストがなく、インポート/要求がないテスト ファイルは 100% のカバレッジである必要があるためです。
typescript - Karma Coverage でファイルが見つからない (angular2 / typescript)
タイプスクリプトを使用してAngular 2を使用してアプリをセットアップする作業を行っていますが、カルマカバレッジを取得して検査したいファイルを見つけるのに問題があります。angular 1.xアプリケーションでこれを正常にセットアップしましたが、typescriptに欠けている別のレイヤーがあるようです。
すべてが正常に動作し、すべての単体テストがカルマによって期待どおりにチェックされていることがわかります。また、カバレッジはすべて問題なく、コードのカバレッジが 100% であることを示しているため、危険信号が表示されました。html 出力でカバレッジを確認したところ、ファイルがチェックされていないため、カバレッジが 100% であることがわかりました。
ターミナルの出力を見ると、パターン './src/**/*.js' で選択したすべてのファイルが除外されていることがわかります。つまり、.ts ファイルのみが検出され、コンパイルされていません。 jsに。
また、ターミナルのカバレッジ出力の上に、「ソースで指定されたすべてのファイルが見つかりませんでした。部分的な再マッピングを続行してください」というメッセージが表示されます。
カバレッジツールがそれらを解析できるように、テスト中に ts ファイルを js ファイルに変換すると考えて typescriptPreprocessor を追加しましたが、これまでに行ったことは何もありません。
これが私の karam.conf.js ファイル全体です。
それが役立つ場合の私の端末出力:
私がここで間違っていることについて何か考えはありますか?
angularjs - browserify で生成されたコードをコード カバレッジ数から除外するにはどうすればよいですか?
browserify を使用して、すべての角度付き js コードを 1 つのファイルにバンドルします。カルマ + ジャスミンを使用して、この 1 つのファイル app.js の単体テストを行います。browserify が行うバンドルの一部として、ファイルの先頭に 1 行のコードを挿入します。
その行の上に a を入れてみまし/*instanbul ignore next*/
たが、ファイル全体が無視されます。この 1 行が私のブランチ カバレッジ番号を殺しています。この生成されたコードを無視する方法はありますか?