自動テストツール NUnit/NUnitAspを使ってみる

テスト駆動開発とかアジャイルの言葉に挽かれてNUnit/NUnitAspに挑戦してみることにした。

NUnit-GuiからテストコードのDLLを読み込もうとすると、NUnit-GuiがBadImageFormatExceptionを吐いてイメージを読み込んでくれない。
調べてみると、NUnitAspの最新バージョン1.5.1にバンドルされているNUnitは2.2.0で、NUnitの最新バージョンは2.2.9が出てるらしい。さっそくNUnitを2.2.9にアップグレードしてみると、NUnit-Guiは例外を吐かなくなったものの、今度はNUnitASPが動かない。どうやらNUnitAsp1.5.1と一緒に使うNUnitは2.2.0じゃないとだめらしい・・・難しいなあ。
NUnitAspは日本語の情報もそんなにないし。海外のForumで.configを弄ってみると良いとか出ていて試してみたけどダメ。TestDriven.NET経由で動かすと動くという情報を知って試しにTestDriven.NET2.0経由で動かすと普通に動いた・・・(;´Д`)ナンデ?

あと注意ポイントがいくつか

  • テストコードを記述するクラス自体をpublic宣言すること。コンストラクタもpublicで宣言する。
  • NUnitAspの場合は[SetUp] [TearDown]属性は使わない。WebFormTestCaseを継承する場合void SetUp()とvoid TearDown()をオーバーライドする。
  • TestDriven.NETはVisual C# Express Editionでは使えないらしい?

ためしにいくつかテストコードを書いてみたけど、なかなかよさそうな感じ。特にTestDriven.NETを使うとVSからシームレスにテストを実行できるのがマジ便利。これを使いこなせれば開発効率とコードの品質はかなり向上するんじゃなかろうか。

参考

NUnit
http://sourceforge.net/projects/nunit
NUnitAsp公式(英語)
http://nunitasp.sourceforge.net/]
TestDriven.NET(英語)
http://www.testdriven.net/
NAgile開発 NUnitAspによるWebフォームのテスト
http://www.nagile.com/nuke/Portals/0/NUnitAsp.pdf
.NET開発のTipsなぐりがき! NAgile
http://rararahp.blog69.fc2.com/blog-category-3.html
NUnit Ver2.0ユーザーガイド
http://www.objectclub.jp/community/XP-jp/xp_links/NUnitUsersGuidebookVer2.pdf
Japan.internet.com デベロッパー - NUnitAsp の高度な使い方
http://japan.internet.com/developer/20051005/26.html
NUnitAsp1.4.1 導入ガイド
http://www.itsol.co.jp/columns/TC-004/TC-004.html
NAgiler 航海日誌
NUnitAsp資料とサンプルコードの公開:http://www.takakuro.net/blogs/nagile/archive/2005/07/07/59.aspx