Webのユニットテスト④ .NET
ちょっと間が空いてしまいましたが、前回の続きです。
作成したユニットテストをHudsonで実行してみようと思います。
まずはビルド手順の検討から・・・といってもJavaの時と同じです。
Javaの時と同じ構成でHudsonのジョブを作ります。
[コンパイル→アプリケーションサーバにデプロイ]は1回だけ実行すればいいので、
今回は、2つのHudsonジョブでビルドを実行してみたいと思います。
■デプロイ(フリースタイル・プロジェクト )
1.コンパイル
2.アプリケーションサーバにデプロイ
■テスト実行(マルチ構成プロジェクト)
1.複数ブラウザでのユニットテスト実行
※IEやChromeなどの複数ブラウザでのテストを同時に実行したい場合は、マルチ構成プロジェクトを使います。
問題はカバレッジ測定ですね・・・
今まで使っていたカバレッジ測定ツールの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日間使えるお試し版があるので、まずはお試し版でカバレッジを測定してみようと思います。