Azure CIパイプラインにおけるコードカバレッジの発行
Publish Code Coverage task
PublishesCobertura
orJaCoCo
code coverage results from your build in azure CI Pipeline.
アジュールDEVOPSは我々のアプリケーションのユニットテストのコードカバレッジの概要を表示する機能を提供します.これを行うには、テスト結果を特定の形式で公開するように、サポートされている形式でコードカバレッジ結果を公開する必要があります.現在、Azure devopsは
Cobertura
and JaCoCo
. Coberturaを用いた角度生成符号被覆率
あなたが得る箱の角で
karma-coverage-istanbul-reporter
. イスタンブールは、コードカバレッジツールは、角度のCLIによって使用されるCoberturaの組み込みをサポートしているので、我々はcoberturaを使用するために任意の依存関係を追加する必要はありません.移動する
karma.conf.js
下記参照coverageIstanbulReporter
設定. coverageIstanbulReporter: {
dir: join(__dirname, '../../coverage'),
reports: ['html', 'lcovonly',],
fixWebpackSourcePaths: true,
},
追加cobertura
and text-summary
リポーターreports: ['html', 'lcovonly','text-summary', 'cobertura'],
coverageIstanbulReporter: {
dir: join(__dirname, '../../coverage'),
reports: ['html', 'lcovonly','text-summary', 'cobertura'],
fixWebpackSourcePaths: true,
},
このコマンドを実行すると角度がコード範囲を生成します.NXを使用していない場合.その代わりにMonorepong
用途nx
.nx test --watch=false --code-coverage
あなたが使うときtext-summary
また、VSコードコンソールの要約も参照してください.uを実行するたびにこの要約をしない場合は
text-summary
私の場合はtext-summary
今すぐ実行nx affected:test --base=main --codeCoverage=true
それはあなたのNX Monorepoのワークスペース内の各プロジェクトのカバレッジフォルダーとファイルを作成します.
角度APPにおけるコードカバレッジしきい値の強制
しきい値が満たされていない場合は、テストに失敗することができます.以下のコードを加える
coverageIstanbulReporter
thresholds: {
statements: 80,
lines: 80,
branches: 80,
functions: 80
}
テストを実行したら、以下のエラーが表示されます.しきい値を満たすために十分なテストを書いていない場合.
CI Azureパイプラインにおけるアングルコードカバレッジの公開
code coverage
このタスクをパイプラインに追加します.Cobertura
$(Build.SourcesDirectory)/coverage/**/*.cobertura-coverage.xml
# Publish Code Coverage Results
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: 'Cobertura'
summaryFileLocation: '$(Build.SourcesDirectory)/coverage/**/*.xml'
condition: |
and(
succeeded(),
not(contains(
variables['COMMANDS'],
'"test":[]'
))
)
Azureパイプラインにおける符号被覆率
全体概要
コードカバレッジ
Tests Summary
NX Monorepo用のAzureパイプラインにおける符号被覆率の併合
現在、このタスクによって提供されるコードカバレッジレポート機能は制限されており、カバレッジデータをマージしません.タスクに入力として複数のファイルを提供する場合は、最初の一致だけを考慮します.パイプラインで複数の発行コードカバレッジタスクを使用する場合、要約とレポートは最後のタスクに対して表示されます.以前にアップロードされたデータは無視されます.
私にはmonorepoがあるので、多くのコードカバレッジファイルがあります.すべてのカバレッジファイルを結合するために、私はそれのためにいくつかの他のブログを必要とするかもしれません.
スタック開発💻
あなたが完全なスタック開発者になって、新しいソフトウェア開発者または開発者/建築家としてあなたのキャリアを育てたいならば.我々の完全なスタック開発トレーニングプログラムを購読することを考えてください.我々はすべてのアクセス毎月の会員計画を持っているし、すべてのビデオコース、スライド、ソースコード&毎月のビデオコールに無制限のアクセスを取得します.
You bright future is waiting for you so visit today FullstackMaster and allow me to help you to board on your dream software company as a Developer,Architect or Lead Engineer role.
Reference
この問題について(Azure CIパイプラインにおけるコードカバレッジの発行), 我々は、より多くの情報をここで見つけました https://dev.to/rupeshtiwari/publishing-code-coverage-in-azure-ci-pipelines-316fテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol