NUnitを使ってVisual Studioでユニットテスト自動化的なやつやる
必要な物
- NUnit
- C# 動かせる奴(Visual Studio以外よく知らぬ)
参考(会員登録しないと全部見れなかった気がする)
NUnitの用意
ダウンロードする
2.6.0 : Series 2.6 : NUnit V2
色々あるけどNUnit-2.6.0.12051.msiというのがWindowsインストーラ
参照設定
Visual Studioを立ち上げてプロジェクトを作成する
[プロジェクト]→[参照の追加]で「nunit.framework」を選択してOKボタンを押下
コードを書く
テスト用のクラスを作成して[TestFixture]属性をつける
そのクラスの中にテスト用のメソッドを作っていき、各メソッドに[TestCase]属性をつける
属性を着けることによりNunitがテストを認識してくれる
using NUnit.Framework; [TestFixture] public class runTest{ [TestCase] public void test01(){ } [TestCase] public void test02(){ } }
[TestCase]属性には引数を持たせる事が出来る。持たせた引数は対象のテストメソッドに渡される
また、1つのテストメソッドに複数の[TestCase]属性を持たせる事が出来る(コレにより複数のテストケースを簡単に試せる)
[TestCase(2,4)] [TestCase(3,8)] public void test01(int 指数,int 期待値){ }
テストの成否はテストメソッド内でAssertクラスを呼び出して判定する
テストするメソッドに渡す引数(下記では指数)とそのメソッドに期待する値(下記では期待値)
AreEqualメソッドなら期待値と実際にテスト対象から帰ってくる値を比べて、同じならテスト成功、違ったらテスト失敗と判定する
[TestCase(2,4)] [TestCase(3,8)] public void test01(int 指数,int 期待値){ Assert.AreEqual(期待値, べき乗.2のべき乗(指数)); }
テストの実行
一度コンパイルを成功させてからNUnitを起動する
メニューの[File]→[OpenProject]で今回作成したC#のプロジェクトのdllかexe(Visual Studioの各プロジェクトのフォルダ内のbin/Debug/にあるプロジェクト名と同名のファイル)を読み込む
読み込むと左側にテストがツリー表示される
テストを行いたい時は真ん中あたりのRunボタンを押す