継続的インテグレーション プロセスへのコード カバレッジの統合

継続的インテグレーション (CI) システムで実行されているアプリケーションからコード カバレッジの結果を (バイナリ .tcz 結果ファイルとして) 生成するプロセスは、アプリケーションをコマンド ラインからローカルに実行する場合と同じです。テスト カバレッジを使用してアプリケーションをコンパイルおよび実行する必要があります。「コマンド ラインからテスト カバレッジを使用する方法」を参照してください。

結果ファイルの形式

通常は、テスト カバレッジの結果を CI ビルド用の CI アーティファクト ファイルとして格納するように CI マシンを構成します。これらの結果は、次の形式で格納できます。

  • バイナリ形式 - .tcz 結果ファイル。
    ヒント: Enterprise Developer for Visual Studio 2017 で .tcz ファイルをロードして、結果をより詳しく調べることができます。
  • HTML または TXT - 「テスト カバレッジ レポートの作成手順」で説明されているように生成されるレポート ファイル。
  • XML 形式 - テスト カバレッジ ユーティリティ プログラム (tcutil) で生成されるファイル。次のように、必要に応じて異なるオプションを指定して、tcutil を使用できます。
    • -x オプションを使用する
      tcutil -x myapp.xml myapp.tcz

      テスト カバレッジの結果のサマリを含む XML ファイル myapp.xml を生成します。ほとんどの場合、正しくレンダリングされるように、XML ファイルに加えてスタイルシートをアーティファクト ファイルとして含める必要があります。

      ヒント: Saxon や xsltproc などのサード パーティの XSLT プロセッサを使用して、<installdir>\src\tcov に格納されているサンプル スタイルシート mftchtml.xsl および mftchtml.css を用いる HTML ページに myapp.xml を変換できます。
    • -x オプションと -s オプションの両方を使用する
      tcutil -x -s myapp.xsl myapp.tcz

      XML ファイル myapp.xml を生成します。このファイルは、結果を含む HTML ページとして表示されます。HTML ページ上の結果は、<installdir>\src\tcov に格納されているサンプル スタイルシート mftchtml.xsl および mftchtml.css を使用してレンダリングされます。

詳細については、「テスト カバレッジ ユーティリティ プログラム (tcutil)」を参照してください。

CI での結果の表示

結果が CI ダッシュボードに直接表示されるように CI ビルドを CI システムで構成するためには、プラグインのインストールを検討してください。そのようなプラグインの例として、Plot for Jenkins があります。Plot には CSV 形式の入力が必要であり、入力されたデータは Jenkins ダッシュボードで視覚化されます。

-x オプションを指定した tcutil およびサード パーティの XSLT プロセッサを使用して、結果ファイル myapp.xml を CSV ファイルに変換できます。<installdir>\src\tcov にあるサンプル ファイル mftcplot.xsl を参照してください。

失敗するように CI ビルドを構成

-t オプションを指定して tcutil を使用すると、全体的なテスト カバレッジが特定のしきい値レベル (パーセンテージ) に満たない場合に失敗するように CI ビルドを構成できます。次の例では、.tcz ファイルの全体的なコード カバレッジが 80% 未満の場合、tcutil はゼロ以外の終了コードを返します。

tcutil -t 80 myapp.tcz
注: Windows では、tcutil はバッチ ファイルとして実装されています。バッチ ファイルまたは CI コマンド プロセッサ内から tcutil を呼び出すときは、実行するために tcutil の呼び出しを行う必要があります。次に例を示します。
call tcutil...