かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

NUnitのカバレッジを取りたいことって無い?

取りたくなったので調べてみました。因みに貧乏なので、Visual StudioのはExpressかSandardしか使えないため、コードカバレッジの機能は使えないのです・・・。
一昔前はNUnitと組み合わせてNCoverなるものを使うのが良かったみたいですが、有料化されてしまったらしいです。残念っ。
ということで、お金がかからないもので何か無いか探してみたら見つけたのが「PartCover」です。早速使ってみましょう。

ダウンロード/インストール

↓が公式のBlog?みたいなので、そこから最新版を落とします。
http://partcover.blogspot.com/

2010/02/10現在は、最新が2.3.0.35109みたいなので、それを落としました。
インストールは、YESマンになればOKです。

GUIから使ってみる

スタートメニューに、Gubka Bobという項目が追加されるので、そこから辿っていってPartCover Browserを起動します。

File → Run Targetで表示される画面でカバレッジを測定したいExecutable Fileに実行ファイル名(NUnitならNUnitのランナーとか), Working Directoryは、適当な場所を指定します。恐らく、NUnitの対象になるプロジェクトのフォルダあたりを指定しておくのが無難だと思います。
そして、Working ArgumentsにExecutable Fileで指定したexeに渡す引数を指定します。NUnitGUIランナーなら/config=プロジェクトファイルへのパスあたりを指定するといいと思います。

最後にRulesを指定します。こいつは、カバレッジ測定の対象を指定するのですが、書式は、カバレッジ測定対象を追加する場合だと、以下のように書きます。

+[アセンブリ名]クラス名

最初の+を-に変更すると、カバレッジ測定対象から外すことも出来ます。アセンブリ名とクラス名には*を使ってワイルドカードで指定することが出来ます。

うん。いい感じかも。

コマンドラインからも使えるみたいです。以下のページで解説されています。
http://www.ailight.jp/blog/koido/archive/2008/03/27/26237.aspx
使い勝手良さそうだ。