問題タブ [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.
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% :(
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
複数の正規表現を試しましたが、まだ運がありません。
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 - Jasmine の SpecRunner.html に基づいて LCOV レポートを生成するには?
JavaScript 単体テストには Jasmine を使用しています。SpecRunner.html
テストを実行するためのファイルがあります。パスと JavaScript (仕様ではない) ファイルのディレクトリへのパスを渡すことができるツールが存在しSpecRunner.html
、LCOV レポートを生成します。たとえば、次のようなものです。