3
1

More than 3 years have passed since last update.

【NUnit】単体テスト用プロジェクトの作成方法

Posted at

本記事の記載内容

  • 「Visual Studio 2017/Visual Studio 2019」と「使用するフレームワーク(.NET Framework/.NETC ore)」の組合せごとに、単体テスト用プロジェクト(NUnitを適用)を作成する方法を記載する。

導入方法

下記組み合わせで手順違う様子。

No Visual Studioとフレームワークの組み合わせ
1 Visual Studio2017 + .NET Framework
2 Visual Studio2017 + NET Framework以外(※)

※下記の組み合わせを想定する。

No 組み合わせ
1 Visual Studio2017 + NET Core
2 Visual Studio2019 + NET Framework
3 Visual Studio2019 + NET Core

Visual Studio2017 + .NET Framework

テストプロジェクトの作成する。

「クラスライブラリ」を選択する。

下記のパッケージをインストールする。

テストプロジェクトに下記を適用する。

Nunit_Nuget.png

参考
Nunit公式ドキュメント installation

Visual Studio2017 + .NET Framework以外

NUnitテストテンプレートを使用する。

下記バージョンでは、テンプレートが使用できる。
Microsoft公式ドキュメント 単体テストの概要

Visual Studio 2017 バージョン 14.8 以降、.NET 言語には NUnit と xUnit 用の組み込みのテンプレートが含まれています。

Visual Studio 2017 + Core

Coreにしかテストテンプレートが対応してない様子。

image.png

Visual Studio 2019 + .NET Framework or Core

Visual Studio 2019は.NET Frameworkでも、.NET Coreも選べる様子。

image.png

.NET Frameworkと.NET Coreが選択できる。
image.png

動作確認

1.テストコードのサンプルを作成する。

下記に一例を示す。

  • テスト対象クラス(ConfirmationSample)
  • テストコード(ConfirmationSampleTest)
動作確認用のサンプル
using NUnit.Framework;
namespace TestProject1
{
    /// <summary>
    /// 確認用サンプル
    /// </summary>
    [TestFixture]
    class ConfirmationSampleTest
    {
        [TestCase(true, 1)]
        [TestCase(false, 0)]
        public void TestSample(bool expected, int input)
        {
            var  confirmationSample = new ConfirmationSample();
            Assert.AreEqual(expected, confirmationSample.Hoge(input));
        }
    }

    class ConfirmationSample
    {
        public bool Hoge(int a)
        {
            return  a > 0 ? true : false;
        }
    }
}

2.テストを実行する

①「テスト」タブからテストを実行する。

image.png

②テストエクスプローラーで結果を確認する
緑のチェックが付けば成功。赤字の☓つけば失敗。
image.png

参考ドキュメント

  • 公式ドキュメント 実装サンプル

NUnitの公式ドキュメントにがあります。ご参考まで。
公式のコードサンプル

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1