C#
VisualStudio
.NETFramework

.NET: WindowsとmacOSの両方で動くNUnitテストプロジェクトを作る

日本語の情報が少ないので書きました.

クロスプラットフォームでアプリを動かすのではなく,クロスプラットフォームで開発する際の話です.

検証環境

  • Visual Studio Community 2017 / Windows 10 1803 (April 2018 Update)
  • Visual Studio Community 2017 for Mac / macOS High Sierra

2行でまとめると

  • 「単体テストプロジェクト」はVisual Studio for Macでは扱えない.
  • クラスライブラリプロジェクトを作成し,パッケージとしてNUnit 3系とNUnit3TestAdapterを追加すると動く.

"単体テストプロジェクト"はMac未サポート

Visual Studio (Windows)で作成したソリューションを開くと,単体テストプロジェクトとして作成したものが「このプロジェクトの種類は、Visual Studio Community 2017 for Mac によってサポートされていません。」との表示.

厳密には,ファイルの読み書きは出来ますが,ビルドやテスト実行はできません.

このプロジェクトの種類は、Visual Studio Community 2017 for Mac によってサポートされていません。

解決法: クラスライブラリプロジェクトにNUnit 3を足す

解決方法は割と簡単です.クラスライブラリプロジェクトを作成し,NuGet パッケージとしてNUnit (3系)とNUnit3TestAdapterを追加します.Windowsから,Macから,どちらでも構いません.

Visual Studio for Mac

プロジェクトを実行すると,テストが走ります.

Visual Studio (Windows)

残念ながらアイコンは通常のプロジェクトと同じになってしまいますが,テストエクスプローラーからテストを実行できます.

windows_project.PNG

windows_test.png

参考