問題タブ [lcov]

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 に答える
10309 参照

javascript - Sonarqube が LCOV から JavaScript カバレッジを取得しない

次の構造のアプリケーションがあります。

pom.xmlSonarQube 分析を実行するためだけに作成しました。それ以外の場合、すべてのタスクは Grunt によって実行されます (テストは Karma で実行されます)。

の内容はpom.xml次のとおりです。

を実行すると、次の情報を含む がgrunt test作成されます。build/karma/coverage/lcov.info

SonarQube 分析の後、ダッシュボードには 0% のコード カバレッジが表示されます。

のパスがSF:エラーの原因であると思われました。したがって、別の値をテストするために別のプロパティを使用するsonar.javascript.lcov.reportPathようにプロパティを変更しました。lcov.infoapp.js./app.jsapp/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% :(

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

python - jsカバレッジlcovファイルをcobertura XMLに変換するときに特定のファイルを除外する方法

Jenkinsプラグインを使用してジョブでレポートを表示できるように、pythonスクリプトを使用してlcovファイルをcobertura形式に変換しています。いくつかのパッケージといくつかのファイルを除外する必要があります。Python スクリプトは、パッケージを除外するオプションのみを提供します。他の回避策はありますか?

https://github.com/eriwen/lcov-to-cobertura-xml

パッケージ全体を除外します。 python lcov_cobertura.py lcov.info --sources.modules.web.services.transport -o coverage1.xml を除外します。

transport パッケージの下の "BundleService.js" を除外したい (これは機能しません) python lcov_cobertura.py lcov.info --excludes sources.modules.web.services.transport.BundleService -o coverage2.xml

複数の正規表現を試しましたが、まだ運がありません。

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

javascript - Karma によって実行される LCOV レポートの形式を変更する方法は?

JavaScript コードのカバレッジを報告するように Karma を構成しました。karma.conf.jsファイル内の構成の一部を次に示します。

私のlcov.infoファイルの形式は次のとおりです。

残念ながら、Sonarqube JavaScript プラグインSF:は、DA:またはで始まる行のみを考慮しますBRDA:( LCOVParserを参照)。

そのため、LCOV HTML レポート (Istanbul が作成) は、同じデータで Sonar よりも高いコード カバレッジを提供してくれます。

生成された形式を変更する方法はありlcov.infoますか?


イスタンブールのコードを見ると、さまざまなラベルの意味を想像できます。

  • BRFBRHBRDAブランチ用です。
  • FN、、、FNF関数FNHFNDAです。
  • LNLFは行LH用です。
  • *Fは合計、*Hは対象となる情報です。

イスタンブールとソナーのカバレッジの違いは、後者が関数とブランチのカバレッジを完全に無視しているという事実によるものと思われます。

それを解決するためのアイデアはありますか?

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

javascript - Jasmine の SpecRunner.html に基づいて LCOV レポートを生成するには?

JavaScript 単体テストには Jasmine を使用しています。SpecRunner.htmlテストを実行するためのファイルがあります。パスと JavaScript (仕様ではない) ファイルのディレクトリへのパスを渡すことができるツールが存在しSpecRunner.html、LCOV レポートを生成します。たとえば、次のようなものです。