[NUnit] NUnitのテスト用プロジェクトを作成する

前回は NUnitのインストール方法について説明しました。
今回は、NUnitのテスト用プロジェクトを作成します。

C#の説明はこちら

VB.NETの説明はこちら


C#編
まずは、NUnitのテスト対象となるプロジェクトを準備します。
対象のプロジェクトとして、クラスライブラリを作成します。
「新しいプロジェクト」で「Visual C#」-「クラスライブラリ」を選択し、名前欄に「CommonLibrary」と入力して[OK]ボタン押します。

プロジェクトの作成
プロジェクトを作成すると、Class1.cs というファイルが1つできています。
この Class1.csを削除して、新しいクラス MyMath.cs を追加します。
追加後のソリューションエクスプローラは以下のようになります。

プロジェクト作成後のソリューションエクスプローラー
次に NUnitのテスト用プロジェクトを作成します。
先ほど作成した、CommomnLibraryのソリューションに
「新しいプロジェクト」で「Visual C#」-「クラスライブラリ」を選択し、名前欄に「NUnitTest」と入力して[OK]ボタン押します。

NUnit用プロジェクトの追加

プロジェクトを作成すると、Class1.cs というファイルが1つできています。
この Class1.csを削除して、新しいクラス MyTest.cs を追加します。
今後、このクラスにテストコードを実装していきます。
追加が完了したら、NUnitTestプロジェクトをスタートアッププロジェクトに設定をします。
設定後のソリューションエクスプローラは以下のようになります。設定後のソリューションエクスプローラ

NUnitを使用してテストを行うには、テスト対象のクラスライブラリとNUnitの参照設定を行う必要があります。

まずは、最初に作成した CommonLibrary を NUnitTestプロジェクトの参照設定に追加します。
NUnitTestプロジェクトの参照設定を右クリックして、「参照の追加」を選択します。
「参照マネージャー」ダイアログで[ソリューション]-[プロジェクト]を選択し、「CommonLibrary」にチェックを付けます。

クラスライブラリを参照設定に追加

続けて、「参照」タブを選択して、[参照]ボタンを押し nunit.framework.dll を追加します。
nuit.framwork.dll は、インストールした場所の bin\framework フォルダにあります。
例:C:\Program Files (x86)\NUnit 2.6.3\bin\framework
追加が完了したら、最後に[OK]ボタンを押して、「参照マネージャー」ダイアログを閉じます。

nunit.framework.dllを参照設定に追加

最後に、Visual Studioから NUnitが起動するように設定を行います。
ソリューションエクスプローラでNUnitTestプロジェクトの「Properties」を右クリックして「開く」を選択します。
次に、[デバッグ]タブを選択して、「外部プログラムの開始」にチェックを付け、NUnit.exeを選択します。
NUnit.exe は、インストールしたパスにあります(例:C:\Program Files (x86)\NUnit 2.6.3\bin)。

コマンドライン引数には、NUnitプロジェクトのプライマリ出力(要するに生成されるdllです)を対象のライブラリを指定します。
ここでは、NUnitTest.dll を記載します。

ここまでで、NUnitの環境構築は終了です。

NUnitの起動設定

さて、あと一息です。
NUnitを使用してテストを行うには、NUnit用に作成したプロジェクトにあるクラスに、テスト用のクラスである目印を付ける必要があります。
MyTest.csを開いて、using nunit.frmaework; とテスト対象となるクラス using CommonLibrary; を追加し、クラスには [TestFixture] 属性を付加します。
これで、MyTest.cs が NUnitでテストできるクラスとなります。
最後に、MyTest.cs を以下に記します。

using System;	
using System.Collections.Generic;	
using System.Linq;	
using System.Text;	
using System.Threading.Tasks;	
using NUnit.Framework;	
using CommonLibrary;	
	
namespace NUnitTest	
{	
    [TestFixture]	
    public class MyTest	
    {	
	
    }	
}

次回は、実際にテストコードを実装していきます。


VB.NET編
まずは、NUnitのテスト対象となるプロジェクトを準備します。
対象のプロジェクトとして、クラスライブラリを作成します。
「新しいプロジェクト」で「Visual Basic」-「クラスライブラリ」を選択し、名前欄に「CommonLibrary」と入力して[OK]ボタン押します。

プロジェクトの作成
プロジェクトを作成すると、Clas1.vb というファイルが1つできています。
この Class1.vbを削除して、新しいクラス MyMath.vb を追加します。
追加後のソリューションエクスプローラは以下のようになります。

プロジェクト作成後のソリューションエクスプローラー
次に NUnitのテスト用プロジェクトを作成します。
先ほど作成した、CommomnLibraryのソリューションに
「新しいプロジェクト」で「Visual Basic」-「クラスライブラリ」を選択し、名前欄に「NUnitTest」と入力して[OK]ボタン押します。

NUnit用プロジェクトの追加

プロジェクトを作成すると、Clas1.vb というファイルが1つできています。
この Class1.vbを削除して、新しいクラス MyTest.vb を追加します。
追加が完了したら、NUnitTestプロジェクトをスタートアッププロジェクトに設定をします。
今後、このクラスにテストコードを実装していきます。
追加後のソリューションエクスプローラは以下のようになります。

設定後のソリューションエクスプローラ

NUnitを使用してテストを行うには、テスト対象のクラスライブラリとNUnitの参照設定を行う必要があります。

まずは、最初に作成した CommonLibrary を NUnitTestプロジェクトの参照設定に追加します。
NUnitTestプロジェクトのプロジェクトを選択し、 Visual Studioのメニューで、[プロジェクト]-[参照の追加]を選択します。
「参照マネージャー」ダイアログで[ソリューション]-[プロジェクト]を選択し、「CommonLibrary」にチェックを付けます。

クラスライブラリを参照設定に追加

続けて、「参照」タブを選択して、[参照]ボタンを押し nunit.framework.dll を追加します。
nuit.framwork.dll は、インストールした場所の bin\framework フォルダにあります。
例:C:\Program Files (x86)\NUnit 2.6.3\bin\framework
追加が完了したら、最後に[OK]ボタンを押して、「参照マネージャー」ダイアログを閉じます。

nunit.framework.dllを参照設定に追加

最後に、Visual Studioから NUnitが起動するように設定を行います。
ソリューションエクスプローラでNUnitTestプロジェクトを選択して、メニューの[プロジェクト]-[NUnitTestのプロパティ]を選択します。
次に、[デバッグ]タブを選択して、「外部プログラムの開始」にチェックを付け、NUnit.exeを選択します。
NUnit.exe は、インストールしたパスにあります(例:C:\Program Files (x86)\NUnit 2.6.3\bin)。

コマンドライン引数には、NUnitプロジェクトのプライマリ出力(要するに生成されるdllです)を対象のライブラリを指定します。
ここでは、NUnitTest.dll を記載します。

ここまでで、NUnitの環境構築は終了です。

NUnitの起動設定

さて、あと一息です。
NUnitを使用してテストを行うには、NUnit用に作成したプロジェクトにあるクラスに、テスト用のクラスである目印(<TestFixture>属性)を付ける必要があります。
MyTest.vbを開いて、Imports nunit.frmaework とテスト対象となるクラス Imports CommonLibrary を追加し、クラスには 属性を付加します。
これで、MyTest.vb が NUnitでテストできるクラスとなります。
最後に、MyTest.vb を以下に記します。

Imports NUnit.Framework
Imports CommonLibrary

<TestFixture>
Public Class MyTest

End Class

次回は、実際にテストコードを実装していきます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください