{
    "title": "セットアップ - xUnit.net",
    "useMathjax": false
}

================================================================================

テスト用プロジェクトの準備

  • Visual Studio テストのためのクラスライブラリプロジェクトを作成する
  • プロジェクト名は、テスト対象となるプロジェクトのプロジェクト名 + .Tests が多い
  • テストプロジェクトは、テスト対象となるプロジェクトと同じソリューションに作ってもいい(大きなソリューションでなければ、この方が管理が楽)

xUnit.net のインストール

  • テストプロジェクトに xUnit.net をインストールする

  • Visual Studio のメニューバーから ツールNuGet パッケージマネージャソリューションのパッケージの管理 を開く

  • ダイアログ右側からオンライン nuget.org を選ぶ

  • 左上にある検索ボックスに xUnit.net と入力して検索

  • 検索結果の中にある xUnit.netxUnit.net [Runner: Visual Studio] をテストプロジェクトにインストールする

Visual Studio の NuGet

依存関係の追加

  • テストプロジェクトの参照にテスト対象となるプロジェクトを追加する
  • テスト対象となるプロジェクトの 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));
    }
}

実行する

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