KENTEM TechBlog

建設業のDXを実現するKENTEMの技術ブログです。

Visual Studioのコードカバレッジ機能

こんにちは。開発統括部のK.T.です。
今回はVisual Studioにおける.NETのコードカバレッジ機能について書こうと思います。

ついにVisual Studioにコードカバレッジ機能が標準搭載

Visual Studioにコードカバレッジ機能が搭載されたのはかなり前のことですが、長年にわたりこの機能は最上位エディションであるVisual Studio Enterpriseエディションの専用機能でした。

CommunityやProfessionalエディションを使っていた開発者は、次のような方法でコードカバレッジを確認していたのではないでしょうか。

  • dotnet-coverageやCoverletでコードカバレッジのデータを収集して、ReportGeneratorでレポートを生成する
  • 拡張機能のFine Code Coverageを使用する

会社の開発環境はProfessionalエディションですので、私はFine Code Coverageを使用していました。
Professionalエディションにも標準でコードカバレッジ機能が搭載されないかなと思っていたところ、ついにVisual Studio 2026の全エディションでコードカバレッジ機能が標準搭載されるようになりました。

Visual Studio 2026でのコードカバレッジ機能の使い方

ステップ1:カバレッジ付きでテストを実行する

  1. Visual StudioでC#などのプロジェクトを開きます。
  2. 画面上部メニューの [テスト] > [すべてのテストのコード カバレッジの分析] を選択します。
    (または、テスト エクスプローラー上で対象のテストを右クリックして、[コード カバレッジの分析] を選択します)

ステップ2:結果の確認とエディタ上のハイライト表示

テスト実行が完了すると、[コード カバレッジの結果] ウィンドウが表示され、カバレッジ(%)を確認できます。
また、[コード カバレッジの色分け表示] を有効にすると、テストが実行されたコードをハイライト表示できます。

参考:除外設定(.runsettingsファイル)

自動生成されたEntity Frameworkのマイグレーションファイルなど、測定対象から除外したいコードがある場合は、ソリューションに .runsettings ファイルを追加してカスタマイズできます。

例)CodeCoverage.runsettings

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <DataCollectionRunSettings>
    <DataCollectors>
      <DataCollector friendlyName="Code Coverage">
        <Configuration>
          <CodeCoverage>
            <Sources>
              <Exclude>
                <!-- マイグレーションファイルを測定対象から除外 -->
                <Source>.*\\Migrations\\.*</Source>
              </Exclude>
            </Sources>
          </CodeCoverage>
        </Configuration>
      </DataCollector>
    </DataCollectors>
  </DataCollectionRunSettings>
</RunSettings>

Visual Studioが追加した .runsettings ファイルを自動検出しない場合は、画面上部メニューの [テスト] > [実行設定の構成] > [ソリューション全体の runsettings ファイルの選択] から追加した .runsettings ファイルを選択します。

まとめ

コードカバレッジは100%を目指すものではありませんが、主要なビジネスロジックや異常系処理のテストコードが書かれていることは重要なことです。
十分なテストコードが書かれていると、リファクタリングをする際に「自分が変更したことで、どこか別の場所が壊れてしまうのではないか」という不安を感じることがなくなります。
自身がテストコードを書いた際には、Visual Studio 2026の [コード カバレッジの色分け表示] を使用して、十分なテストコードが書けているか確認してみてください。

おわりに

KENTEMでは、様々な拠点でエンジニアを大募集しています! 建設×ITにご興味頂いた方は、是非下記のリンクからご応募ください。 recruit.kentem.jp career.kentem.jp