読者です 読者をやめる 読者になる 読者になる

残像ブログ

残像だった

NUnitを使ってVisual Studioでユニットテスト自動化的なやつやる

C#
必要な物

NUnitの用意

NUnitは.Netでテストするためのフレームワーク

ダウンロードする

2.6.0 : Series 2.6 : NUnit V2
色々あるけどNUnit-2.6.0.12051.msiというのがWindowsインストーラ

インストールする


インストーラを起動して操作してく

インストールのタイプを聞かれるところではCompleteを選択した

参照設定

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ボタンを押す

テスト失敗の時

赤くなる

緑になる