テスト用プロジェクトの準備
- Visual Studio テストのためのクラスライブラリプロジェクトを作成する
- プロジェクト名は、
テスト対象となるプロジェクトのプロジェクト名
+.Tests
が多い - テストプロジェクトは、テスト対象となるプロジェクトと同じソリューションに作ってもいい(大きなソリューションでなければ、この方が管理が楽)
xUnit.net のインストール
-
テストプロジェクトに
xUnit.net
をインストールする -
Visual Studio のメニューバーから
ツール
→NuGet パッケージマネージャ
→ソリューションのパッケージの管理
を開く -
ダイアログ右側から
オンライン
nuget.org
を選ぶ -
左上にある検索ボックスに
xUnit.net
と入力して検索 -
検索結果の中にある
xUnit.net
とxUnit.net [Runner: Visual Studio]
をテストプロジェクトにインストールする
依存関係の追加
- テストプロジェクトの参照にテスト対象となるプロジェクトを追加する
- テスト対象となるプロジェクトの
internal
属性にアクセスしたい場合は、テスト対象となるプロジェクトのAssemblyInfo.cs
に以下を追記する
[assembly: InternalsVisibleTo("『テストプロジェクトのアセンブリ名』")]
テストコードを書く
- テストプロジェクト内にクラスを作成しテストを記述する
- クラス名は
テスト対象のクラス名
+Tests
が多い - テストメソッド名は
テスト対象のメソッド名
+Test
が多い - テストメソッドには
Fact
属性をつける
using Xunit;
public class IntCalculatorTests
{
[Fact]
public void AddTest()
{
Assert.Equal(0, IntCalculator.Add(0, 0));
Assert.Equal(1, IntCalculator.Add(0, 1));
Assert.Equal(1, IntCalculator.Add(1, 0));
Assert.Equal(2, IntCalculator.Add(1, 1));
}
}
実行する
- テストクラスに含まれる全てのテストを実行する場合は、エディタ上でテストクラスを右クリックし(クラス名の辺りがいい)、
テストを実行
を選択 - 特定のテストメソッドのみを実行する際は、テストメソッドのところで右クリックし、
テストを実行
を選択 - それ以外の場合、プロジェクト内のテスト全てを実行する場合は、メニューバーの
テスト
→実行
→全て
を選択 - テストが実行されると『テスト エクスプローラー』に結果が表示される。(表示されない場合は、メニューの
テスト
→ウィンドウ
→テスト エクスプローラー
を選択する。)