23669


どちらでも良いというような見解しか得られなかったため、質問させていただきます。  
C#でテストを行うとき、MicrosoftのUnitTestingにあるAssertとNUnitにあるAssertではどちらを選べばよいのでしょうか？  
具体的な違い、また使用するメリットをご享受下さい。


CC BY-SA 3.0
2016-04-01T11:16:19.250
23666
2016-05-12T10:16:41.987
14228
question
c#
C# Assertについて


はっきりって機能面ではどちらでも良いです。ですが環境面で言うと対応しているバージョン等にいろいろと差異があります。

# Microsoft単体テスト

  * Visual StudioのExpress版では使用できません
  * IDEのサポートは比較的古いバージョンでも対応しています

# NUnit

  * 実行ファイルをNuGet等で入手する必要があります
  * 単体アプリケーションとしては.NET 1.1以降の全環境で使用できます
  * IDE上でのテスト実行にはVSの拡張機能(NUnit Test Adapter)が必要です
  * Test Adapterのサポートは2012以降で、MS単体テストに比べると若干デバッグ動作に問題があります

個人的にはプロジェクト関係者(特に受け入れテスト担当者)がVS
Pro/Communityを入手可能な状況ならMS単体テストを、そうでなければNUnitを選択するのがよいと思います。


CC BY-SA 3.0
2016-04-01T14:27:25.767
23669
2016-04-01T14:27:25.767
5750
23666
answer


質問から外れてしまいますが、  
xUnitというものも有ります。MSUnitよりはNUnitに近いですね。  
Microsoftが作っているオープンソースのテストフレームワークはほぼxUnitです。  
海外でもNUnit vs xUnitでxUnitが推されることが多いようです。  
ご参考まで。


CC BY-SA 3.0
2016-05-12T10:16:41.987
24794
2016-05-12T10:16:41.987
8514
23666
answer