ユニットテストを実行するために、Visual Studio(場合によっては再シャーパー)を使用しています。
NUnitについて聞いたことがありますが、それについて多くのことを知りません...
私はそれを気にする必要がありますか?ビジュアルスタジオよりも優れたものを提供できますか?
NUnitを使用する必要があるのはなぜですか?
NUnitにはMS-Testに比べていくつかの利点があります
Assert.AreEqual(expected, actual)
vs Assert.That(actual, Is.EqualTo(expected))
[TestCase]
! NUnitでは、パラメーター化されたテストが可能です。私の現在の観点から(平均で約10人の開発者による8か月の開発の後)、次の理由でMSTestを使用することをお勧めしますagainst
つまり、8か月前に再度決定する必要がある場合、おそらくNUnitを使用します。私は統合されたテスト結果レポートを持っていないかもしれませんが、開発者はよりシームレスなテスト経験を持つでしょう。
これが私のMS Testの経験です
追加:もういくつかのテストがありますが、その数を言うことすらできません。 OutOfMemoryExceptionsおよびその他の不安定性の問題により、Visual Studioからこれらをすべて実行することは不可能です。スクリプトからテストを実行します。 Visual Studioでテスト結果を表示するのは簡単ですが、ソリューションが開いていると、VSがクラッシュします(毎回)。そのため、テキスト検索を使用して、失敗したテストを検索する必要があります。統合ツールの利点はもうありません。
別の更新:VS 2013を使用しています。多くのことが変わりました。彼らは私たちが始めてから3回目のMS Testテストランナーを書き直しました。これにより多くの重大な変更が発生しましたが、どちらの新しいバージョンも改善されていません。これらはすべてサポートされなくなったため、MS Testの派手な機能を使用しなかったことを嬉しく思います。それは本当に残念です。便利であるため、スクリプトを使用してすべての単体テストをビルドおよび実行しています。 Visual Studioでは、テストの実行を開始するのに数分かかりました(コンパイル後、最初のテストが開始されるまでの時間測定)。彼らはおそらくアップデートでそれを修正し、これは私たちのプロジェクトの特定の問題かもしれません。ただし、同じテストを実行する場合、Resharperははるかに高速です。
結論:少なくともResharperとの組み合わせで、MSテストは有用です。そして、彼らが最終的にテストランナーの作成方法を見つけ、次回Visual Studioを更新するときにこの種の重大な変更を行わないことを願っています。
NUnitは、Visual Studioと組み合わせて組み合わせて使用できます。それは独立したプログラムではなくフレームワークです。だからあなたはそれがあなたに合っているかどうかを見ることができます:)。
「プラグインをインストールすると、ツールメニューの下に新しいサブメニューが表示されます。」
インポートの詳細については、 http://nunitit.codeplex.com/ を参照してください。
また、SOの検索を使用して多くを見つけることができます。 このトピック たとえば、MS標準テストに対するNUnitの利点をリストします。
NUnitに対するMS-Testの最大の利点は、MS-TestがReflectionを使用してモックオブジェクトを生成できることです。とても便利だと思いました
NUnitは、VSのStandardエディションで動作します。
NUnitはユニットテストフレームワークであり、resharperでもサポートされています。マイクロソフトの単体テストフレームワークを使用していると思うので、NUnitはマイクロソフトの製品の代替にすぎません;)
NUnitのホームページへのリンクは次のとおりです。 http://nunit.org
私は他の人にはわかりませんが、NUnitはユニットテストを実行するための素敵なGUIとコンソールを提供し、NUnitテストの実行結果のレポートを生成することもできます。あなたのユニットテストのために取ります
NUnit では、テストは並行して実行されません。むしろ、すべてのテストが単一のスレッドで実行されるようです。 MSTestでは、各テストは個別のスレッドでインスタンス化され、これにより実行がインターリーブされます。したがって、テストAの成功がテストBに依存している場合、テストAの実行中にテストBの実行が開始される可能性があるため、テストBが失敗する可能性があります。