本記事の記載内容
- 「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公式ドキュメント installation][1]
[1]:https://docs.nunit.org/articles/nunit/getting-started/installation.html
Visual Studio2017 + .NET Framework以外
NUnitテストテンプレートを使用する。
下記バージョンでは、テンプレートが使用できる。
Microsoft公式ドキュメント 単体テストの概要
Visual Studio 2017 バージョン 14.8 以降、.NET 言語には NUnit と xUnit 用の組み込みのテンプレートが含まれています。
Visual Studio 2017 + Core
Coreにしかテストテンプレートが対応してない様子。
Visual Studio 2019 + .NET Framework or Core
Visual Studio 2019は.NET Frameworkでも、.NET Coreも選べる様子。
.NET Frameworkと.NET Coreが選択できる。
動作確認
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.テストを実行する
①「テスト」タブからテストを実行する。
②テストエクスプローラーで結果を確認する
緑のチェックが付けば成功。赤字の☓つけば失敗。
参考ドキュメント
- 公式ドキュメント 実装サンプル
NUnitの公式ドキュメントにがあります。ご参考まで。
公式のコードサンプル
- チートシート
ざっくりとテストコードの書き方を調べるときに役立ちます。
[Most Complete NUnit Unit Testing Framework Cheat Sheet(リンク)][4]
[4]:https://www.automatetheplanet.com/nunit-cheat-sheet/