NCoverでテスト

そういえば、一度も動かしたことが無かったので実験です。対象は昨日のCalcです。これをCalc.dllとしてビルドし、コイツを呼び出すテストモジュールを作成します。
ファイル:calctest.boo

import Calc

def Main():
    calc = Calc()
    print calc.Add(1, 2)
    print calc.Subtract(3, 4)
    print calc.Multiply(5, 6)
    print calc.Divide(7, 8)

このようにCalcクラスの4つのメソッドだけを使っています。さて、このプログラム(calctest.exe)のコードカバレッジを見てみようと思います。

> ncover /c calctest.exe /a "calc"

/cで実行するアプリケーションを、/aで参照するアセンブリを指定します。アセンブリが複数ある場合は;(セミコロン)で区切ります。すると結果がxml/xslファイルで出力されます。上記の例ですとこんな感じ。一度も呼ばれていないところが、赤く色づいていますね。あ、NCoverを使うには対象となるアセンブリデバッグ情報(*.pdb)が必要になるので注意です。