NUnit for C#とVisual Studioに統合された単体テスト機能との違い


12

チームで協力して、C#.NETを使用して開発された中規模のデスクトップアプリケーションを開発する必要があります。これに先立ち、私は単体テストとテスト駆動開発を適用していません。ユニットテストC#アプリケーション用の多くのツールとフレームワークが存在することを認識しています。今のところ、NunitとVisual Studioに統合された単体テスト機能を知っています。

知りたいのですが、この2つはどのように比較されますか?

回答:


14

確かに、2つの間にいくらかの重複があります。NUnitは前身であり、結果としてより成熟しています。C#単体テストフレームワークは新しいですが、Visual Studioと統合されています。

私はJUnitが主流であるJavaの世界から来ました(他にもありますが、人気があるものはありません)。NUnit2.5.xは、JUnit 4の動作に非常によくマッチしています。実際、Javaの同等品よりもはるかに優れた機能を発揮します。

テスト定義に関する限り、私はNUnitを好みます。Sure MS Testには、クラスに適用する類似の(ただし異なる)属性がありますが、特定のタイプのテストでの作業を節約できる機能が不足していると思います。StackOverflowの同様の議論をチェックしてください。

NUnitに組み込まれた新しいアサーションモデル(Hamcrestスタイルのアサートを使用している)は、読みやすく拡張しやすいため気に入っています。

  • NUnitのサードパーティのサポートが向上し、MS Testの統合がすぐに開始されます。
  • NUnitはより優れた柔軟性と拡張性を備えており、MS Testはこの分野で苦労します。
  • 両方ともユニットテストを実行し、結果を確認します。どちらもTDDで機能します。

3

TFSから専用のMSBUILDサーバーで実行するビルドスクリプトを作成しなければならなかったときに気付いた唯一の本当の違いは、nUnitのセットアップとnUnitテスト結果の取得が本当に苦痛だったので、セットアップとMSTestの結果の取得は簡単でした。

また、テストランナーからMSTestテストを実行できなかったResharperに問題がありました。新しいバージョンではこれは修正されているため、Resharperの古いバージョンを使用している場合でも問題になる可能性があります。

この郵便受けRoy Oshereveからのは、まだ素晴らしい概要です。

ps:私の他の答えを削除しました。まったく役に立ちませんでした。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.