Skip to content

MS_OpenCover

nishi_74322014 edited this page Aug 18, 2026 · 1 revision

OpenCover

概要

カバレッジ・メジャー・ツール。

詳細

C0, C1 が取得できるらしい。

補足(カバレッジの水準): 「C0 / C1」は日本の開発現場で使われる呼称で、
国際的には以下の名称になる。

呼称 一般名 内容
C0 ステートメント カバレッジ すべての命令を 1 回以上通ったか
C1 ブランチ(分岐)カバレッジ すべての分岐の真偽を通ったか
C2 条件カバレッジ 複合条件の各項の真偽を通ったか
if (a > 0 && b > 0) { X(); }
// C0: X() を通れば 100%
// C1: 条件が true のケースと false のケースの両方が要る
// C2: a>0 / b>0 それぞれの真偽の組み合わせが要る

カバレッジは「テストの十分性」ではなく「未テスト箇所の発見」に使う
のが正しい用法である。
100% を目標にすると、アサートのないテストが量産されやすい。

補足(最新化:OpenCover は開発終了): OpenCover は
2019 年頃に開発が終了しており、

  • .NET Framework(Windows)専用
  • .NET Core 以降のクロスプラットフォーム環境では動作しない

という制約がある。現在の代替は以下。

ツール 特徴
Coverlet 現在の標準。dotnet test --collect:"XPlat Code Coverage" で利用
Microsoft.CodeCoverage Visual Studio Enterprise 同梱。--collect:"Code Coverage"
dotCover / NCover 商用

レポート化はNUnitにも記載のとおり ReportGenerator を使い、
Cobertura 形式の出力を HTML に変換するのが定番である。

参考


Tags: 移行, .NET開発, テスト, デバッグ, ドキュメンテーション, ツール類, CI

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally