問題タブ [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.
phantomjs - お使いのプラットフォームに PhantomJS ブラウザーのバイナリがありません。「PHANTOMJS_BIN」環境変数を設定してください
私のpackage.jsonは次のようになります..
私のnpmバージョンは2.2.0です
karma test - karma start my.conf.js を実行すると、これが表示されるのはなぜですか
javascript - Sonarqube が LCOV から JavaScript カバレッジを取得しない
次の構造のアプリケーションがあります。
pom.xml
SonarQube 分析を実行するためだけに作成しました。それ以外の場合、すべてのタスクは Grunt によって実行されます (テストは Karma で実行されます)。
の内容はpom.xml
次のとおりです。
を実行すると、次の情報を含む がgrunt test
作成されます。build/karma/coverage/lcov.info
SonarQube 分析の後、ダッシュボードには 0% のコード カバレッジが表示されます。
のパスがSF:
エラーの原因であると思われました。したがって、別の値をテストするために別のプロパティを使用するsonar.javascript.lcov.reportPath
ようにプロパティを変更しました。lcov.info
app.js
./app.js
app/scripts/app.js
./app/scripts/app.js
私は何が欠けていますか?
念のため、に次の構成がありますkarma.conf.js
。
ps: ソナーのバージョンは 3.7.2 ですが、4.3 でも試してみましたが、同じ結果でした...
編集: Sonar-runner を直接使用するように構成を更新しました。最新バージョンの Sonar (5.0.1) と JS プラグイン (2.3) を使用しています。lcov.info
また、「適切な」形式 (Sonar リポジトリの例と一致する少なくとも 1 つの形式) を持つように手動で変更しました。
次のsonar-project.properties
ようになります。
それでも、カバレッジの 0% :(
javascript - Karma によって実行される LCOV レポートの形式を変更する方法は?
JavaScript コードのカバレッジを報告するように Karma を構成しました。karma.conf.js
ファイル内の構成の一部を次に示します。
私のlcov.info
ファイルの形式は次のとおりです。
残念ながら、Sonarqube JavaScript プラグインSF:
は、DA:
またはで始まる行のみを考慮しますBRDA:
( LCOVParserを参照)。
そのため、LCOV HTML レポート (Istanbul が作成) は、同じデータで Sonar よりも高いコード カバレッジを提供してくれます。
生成された形式を変更する方法はありlcov.info
ますか?
イスタンブールのコードを見ると、さまざまなラベルの意味を想像できます。
BRF
、BRH
、BRDA
はブランチ用です。FN
、、、FNF
は関数FNH
用FNDA
です。LN
、LF
、は行LH
用です。*F
は合計、*H
は対象となる情報です。
イスタンブールとソナーのカバレッジの違いは、後者が関数とブランチのカバレッジを完全に無視しているという事実によるものと思われます。
それを解決するためのアイデアはありますか?
javascript - 複数の require モジュールの単体テストをセットアップする方法
コードが複数のrequireモジュールに分割されているコードベースに取り組んでいます。つまり、各セクションには、必要な構成を備えた独自の main.js があります。
Karma を使用して、コード ベース全体のコード カバレッジを設定したいと考えています。
各セクションには独自の requirejs 構成があるため、モジュールごとに test-main.js を作成しました。
そして、karma.config にすべての test-main.js ファイルをロードさせます。
問題が発生しています。baseUrl 間に衝突があります。
モジュールを 1 つだけテストすると、問題なく動作します。
何か案が ?
karma-runner - カルマ コード カバレッジ レポートからファイルを除外するにはどうすればよいですか?
カルマ カバレッジ ランナーhttps://github.com/karma-runner/karma-coverageのコード カバレッジ レポートからファイルを除外する方法はあります か?
javascript - Karma カバレッジと Babel+Browserify 前処理
Karma を使用して ES6 コードをテストしています。ミックスに追加karma-coverage
するときは、有効なレポートを作成するためにカバレッジ ツールのすべてのソース ファイルを追加する必要がありますが、そうすると、すべてのブラウザーで Karma から次のエラーが表示されます。
PhantomJS 1.9.8 (Mac OS X 0.0.0) エラー
エラー: 不変違反: _registerComponent(...): ターゲット コンテナーは DOM 要素ではありません。
/var/folders/55/9_128mq95kz1q_2_vwy7qllw0000gn/T/41cf272955d73fbba8ad1df941172139.browserify:46444:0 <- ../../node_modules/react/lib/invariant.js:49:0 で
私の Karma 設定ファイルは次のとおりです。
'./client/**/*.js',
配列から削除するfiles
と、テストは機能しますが、カバレッジにはテスト コードしか表示されません。gulp の Karma を で使用しgulp-karma
ていますが、これは問題とは関係ないと思います。
javascript - Karma/Istanbul でターゲット コード カバレッジを設定する
コード カバレッジのために Karma-Coverage(Istanbul) を使用して Karma Maven プラグインを実行しています。Karma-Coverage は、必要な (推奨される) コード カバレッジに対してデフォルトで 80% に設定されているようですが、プロジェクトで 90% のコード カバレッジを適用したいと考えています。ただし、これをどこに設定するかわかりません。
Karma/Istanbul でターゲット コード カバレッジを適用する方法はありますか?
karma-runner - Karma コード カバレッジ - 常に 100%?
おはよう、
解決できないような奇妙な問題が発生しています。Karma テストを記述して正しく実行しましたが、Karma のコード カバレッジを接続しようとすると、何があっても 100% 吐き出されます。
ここで提起された他の質問を見ましたが、どれも私の問題を解決していないようです。どんな助けでも大歓迎です。
使用:
ここに私のkarma.conf.jsがあります
私のファイル構造は次のとおりです。
ありがとうございました!