Azure CIパイプラインにおけるコードカバレッジの発行


Publish Code Coverage task Publishes Cobertura or JaCoCo 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があるので、多くのコードカバレッジファイルがあります.すべてのカバレッジファイルを結合するために、私はそれのためにいくつかの他のブログを必要とするかもしれません.

    スタック開発💻


    あなたが完全なスタック開発者になって、新しいソフトウェア開発者または開発者/建築家としてあなたのキャリアを育てたいならば.我々の完全なスタック開発トレーニングプログラムを購読することを考えてください.我々はすべてのアクセス毎月の会員計画を持っているし、すべてのビデオコース、スライド、ソースコード&毎月のビデオコールに無制限のアクセスを取得します.
  • してくださいAll-Access Membership PRO plan 現在および将来の角度、ノードにアクセスするには.JSと関連コース.
  • してくださいAll-Access Membership ELITE plan プロの計画からすべてを取得します.また、あなたはプルーシュと毎月のライブQ&Aのビデオへのアクセスを取得し、疑問/質問をすることができますし、より多くのヘルプ、ヒントやトリックを得る.
  • 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.