テスト用プロジェクトの準備
- 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));
}
}
実行する
- テストクラスに含まれる全てのテストを実行する場合は、エディタ上でテストクラスを右クリックし(クラス名の辺りがいい)、
テストを実行を選択 - 特定のテストメソッドのみを実行する際は、テストメソッドのところで右クリックし、
テストを実行を選択 - それ以外の場合、プロジェクト内のテスト全てを実行する場合は、メニューバーの
テスト→実行→全てを選択 - テストが実行されると『テスト エクスプローラー』に結果が表示される。(表示されない場合は、メニューの
テスト→ウィンドウ→テスト エクスプローラーを選択する。)
