無料です。以上です。じゃ、怒られるので少しだけ紹介を。
某有償ツールのCoverageが命令網羅(いわゆるC0)しかとってくれなくて不満だったので探したら見つけたのがAxoCoverというVS拡張です。
VS Enterpriseにも素晴らしいCoverageツールが含まれているのですが、プロジェクトメンバー全員にEnterprise配れるほど裕福ではないので探していて見つけたのがAxoCoverになります。
無償ツールながらGUI統合されていて、分岐網羅(C1)のカバレッジが取得できます。
使いかたは簡単です。
まずはVSを起動して「ツール」>「AxoCover」を選択すると新しいWindowが開かれます。
ソリューションエクスプローラーと同じPanelに開かれて、一瞬気が付きませんでしたが。
こんな感じの画面が開きます。
自動的に開かれているソリューション内のテストケースが網羅されて表示されているでしょう。
テストはMSTest、NUnit、xUnitに対応しているようです。すばらしい!
さて、それではおもむろにテスト対象を選択し、Coverボタンをポチっとしましょう。
するとテストが実行されて、結果が表示されます。
それでは左側のメニューのReportを選択しましょう。
初めて起動したときは非常に重いかもしれませんが、2回目以降はサクサク動きます。
さて、つぎの画像の赤で囲った場所をご覧ください。
左が分岐網羅の数値(カバレッジ率と未テスト個所数)で、右側が命令網羅の数値になります。
もちろんドリルダウンで該当箇所を探索することもできますし、該当箇所を選択するとコードまでナビゲートされます。
左にポチが二つ付いているのが見て取れると思います。
AssociatedObject.CurrentPageと、PreviousPageがnullの場合がテストされていないのだと思います。
また、カバレッジ結果はHTML形式でExportすることも可能です。
次の画面の上部にある「Export」を選択しましょう。
すると次のようにレポートが表示されます。
しかも対象クラスを選択すると、ちゃんとコードがカバレッジ結果と共にグラフィカルに表示されます。
素晴らしい!
以上です。