テストツールNUnit2.5

システム開発担当の読です。
先日、交差点の真ん中で止まり、右折しようとしている『自転車』を見かけました、
私の記憶が合っていれば、自転車は二段階右折だったので驚いたのですが、
怖くはないんでしょうか・・・
今回はテストツール『NUnit』について書いていきたいと思います。

ダウンロード

まずは、NUnitをVisual Studio上で実行する『TestDriven.NE』というアドオンをインストールします。
※NUnit単体でのインストール方法は、下で説明します。
以下のページより、「DOWNLOAD」を押し、ダウンロードページに行きます。
次に「Personal Version」(トライアルユーザ向けのバージョンになります)のダウンロードを押してください。
ここで、名前、メールアドレス、国を聞かれますので、入力して「Continue」でようやくダウンロードが出来ます、この時最新版をダウンロードしておいてください。

インストール

ダウンロードしたzipファイルを解凍して「setup.exe」より起動します。
「Next>」で指示通り進んでいけばインストール完了です。

大まかな使い方

NUnit起動する

ソルリューションのプロジェクトを右クリックして「Test with」から「NUnit」を選択。
すると別窓でNUnitが立ちあがり、選択したプロジェクトのテスト項目を読み込んでくれます。
後は「Run」をクリックすると、テストが起動して、判定してくれます。
なお、ビルドをかけるたびに、自動で更新してくれます。

デバッグする

メソッド内で右クリックをして「Test with」の「Debugger」を選択しると、メソッド単位でテストを行うことができます。

NUnit2.5

私が使用して、便利だったものを紹介していきます。

TestCase

前から順に引数として、メソッドに渡してテストを行ってくれます。3個書けばメソッドを3回実行します。

[TestCase(1,1,2)]
[TestCase(10,10,20)]
[TestCase(100,100,200)]
public void test(int x,int y,int z)
{
     Assert.AreEqual(z, (x+y),"合計が違います");
}

注意しなければならないのは、指定できる引数は3つまでだそうです、それ以上の引数を使用したい場合は以下を使用することで解決できます。

TestCaseSource

少し記述はめんどうなのですが、TestCaseSourceを使い、テストケースをオブジェクトで指定します。


static object[] testObject = { new object[] { new string[]{"て","す","と"},"てすと" },
                         new object[] { new string[]{"テ","ス","ト"},"テスト" } };

[Test, TestCaseSource("TestData")]
public void test(string[] x,string y)
{
     Assert.AreEqual(y,string.Concat(x),"一致しません。");
}

ExpectedException

エラーテストが行えます、指定したエラーだった場合テスト成功となります。

[Test, ExpectedException(typeof(FileNotFoundException))]
public void test()
{
     if (string.IsNullOrEmpty("hoge"))
                {
                    // 指定されたファイルが見つかりません。
                    throw new FileNotFoundException();
                }
}
まだまだ色々な機能があるようですが、私が頻繁に使用しているのは以上です。

NUnit2.5を単体でインストール

テスト環境に必ずしもVisual Studioが入っているわけではないと思いますので、NUnit2.5を単体でインストールしてみます。
以下のページより最新の「NUnit」をダウンロードします。(「NUnit-○.○.○○.○○○.msi」のインストーラーをダウンロードしてください)
http://www.nunit.org/
「Next>」を押し、指示通りに進めばインストール完了です。

起動する

インストールフォルダより、「.\bin\net-2.0\nunit.exe」を起動し、「File - Open Project...」からテストを行いたいプロジェクトを選択します、後は上記で説明したように動かすことができます。

ちょっとした注意事項

Express Edition を含む Visual Studio を使っている場合は、 メニューの [Tools] - [Settings...]から
[IDE Support] で [Enable Visual Studio Support] にチェックを入れます。 これで、 Visual Studio のプロジェクトファイル ( *.vbproj や *.csproj など ) やソリューションファイル ( *.sln ) を読み込めるようになります。
忘れずに設定しておきましょう。

最後に

NUnitにはさまざまな機能があります、2.5になりさらに便利な機能が追加されているので、私も勉強して使えるようになりたいですね。