Webのユニットテスト④ .NET

ちょっと間が空いてしまいましたが、前回の続きです。
作成したユニットテストをHudsonで実行してみようと思います。
まずはビルド手順の検討から・・・といってもJavaの時と同じです。


Javaの時と同じ構成でHudsonのジョブを作ります。

[コンパイルアプリケーションサーバにデプロイ]は1回だけ実行すればいいので、
今回は、2つのHudsonジョブでビルドを実行してみたいと思います。


 ■デプロイ(フリースタイル・プロジェクト )
  1.コンパイル
  2.アプリケーションサーバにデプロイ


 ■テスト実行(マルチ構成プロジェクト)
  1.複数ブラウザでのユニットテスト実行


IEChromeなどの複数ブラウザでのテストを同時に実行したい場合は、マルチ構成プロジェクトを使います。


問題はカバレッジ測定ですね・・・
今まで使っていたカバレッジ測定ツールのPartCoverはIISに対応していないみたいです・・・困ったもんだ。


いろいろ調べてみると・・・有償ツールであればIIS上でのカバレッジ測定は可能みたいです。

Microsoft Visual Studio 2010 Ultimate with MSDN ¥1,573,249(Amazon価格)
Microsoft Visual Studio 2010 Premium with MSDN ¥787,969(Amazon価格)
NCover 3 Complete w/ subscription $658.00
NCover 3 Complete $479.00


上位のVisual Studioはテストやカバレッジツールが付属しているので、とても魅力的なのですが・・・
1ユーザライセンスでUltimate 約157万、Premium 約78万ですか・・・高すぎるぅぅ(;´Д`)


(以前は無償だったのですが)有償になってしまったNCoverなら手が届きそうだ。
subscription無しなら約4万円くらいですかね。


NCoverの使い方はPartCoverと似てるし、Hudsonのプラグインもあるのでいけそうだ。
NCoverの公式にSeleniumと組み合わせてカバレッジを取得する方法も載ってました。
http://docs.ncover.com/how-to/code-coverage-of-asp-net-applications-on-iis/
http://www.ncover.com/pages/feature_comparison


こんな感じで「//iis」オプションをつけるだけでいいみたいですね。

NCover.Console.exe nunit-console.exe TestAssembly.dll //iis


カバレッジ測定はサーバで行えば1ユーザライセンスでいいのかな?
ちょっと会社に購入をお願いしてみようかな・・・


NCoverには21日間使えるお試し版があるので、まずはお試し版でカバレッジを測定してみようと思います。