テストをもう少し楽にする方法

ユニットテストをもうちょっとだけ楽にする方法。
テストの作り方そのものには触れません。
VisualStudioでの開発を想定しています。
が、Unit Testingが組み込まれているVisualStudioは除きます。笑


まず、ビルドイベントによるテストの自動化について。
楽と言えば楽なんだけど個人的にはそれほど好きではないかなぁ。笑
# NUnitを使用したテストプロジェクトが準備されているっていう仮定で。


まず、ソリューションエクスプローラ上でテストプロジェクトを右クリック。
そして「プロパティ」をすごい勢いでクリック。(メニューバーからでも可)
んでビルドイベントというタブを選択。
すると
「ビルド後に実行するコマンドライン
という欄があります。


で、以下(一例)のように書き込みまくってください。

"D:\Potato\NUnit\bin\nunit-gui.exe" /RUN $(TargetPath)
下線の部分は環境に合わせて変更してください。その他の引数はそのままで結構です。
あとはプロパティを保存するだけです。


こうしておくと、テストプロジェクトをビルドする度にNUnitGUI)が登場します。
(この辺の条件は別の欄でもう少し詳しく設定可能)
でもこいつを終了しないとVSがビジー状態になっちゃうので、確認が済んだら毎回終了してください。
これがちょっと面倒ね。



続いてはTestDriven.NET
# これは有名なので知っている方は知っていると思われますが・・・。
この子はVisualStudioのAdd-inです。
http://www.testdriven.net/
のページからダウンロードして来て、VSを終了した状態でインストールしてみてください。


機能の詳細は割愛しますが、メソッドごとにテストできるのがベンリーです。
以下のようなコードがあったとします。

[Test]
public void GetNameTest()
{
Assert.AreEqual( "nobu", this.instance.GetName() );
}
この時、「GetNameTest()」というメソッド名の上で右クリック。
そしてメニューの中に潜む、「Run Test(s)」を選択します。
するとVSの出力ウィンドウにテストの結果が出力されちゃいます!わお!


テストをクリアできなかった場合は
出力ウィンドウおよびエラー一覧ウィンドウに位置情報が表示されるので、
それをダブルクリックと該当する位置にジャンプしてくれます。
ナウでヤングなAdd-inですね。



TestDriven.NETを実行すると、localhostにポートを開いて待機し始めます。
ので、お使いのファイアウォールによっては反応するかもしれません。