1

MVC の単体テスト フレームワークを勧めてくれる人はいますか? 多くの選択肢があり、どのフレームワークを選択すればよいか迷ってしまいます。

NUnit または XUnit.Net または MSTest ??

ありがとう、ベンカット

4

4 に答える 4

1

MSTest を使用しないことをお勧めします。

私の現在のプロジェクトでは、約 1 年間 MSTest を使用していました。私は何年もNUnitを使用してきましたが、他の人はユニットテストに慣れていないので、ユニットテストを簡単にするために(サードパーティのテストフレームワークをランナーに持ち込まないでください)、VSに統合されたMSTestを使用しました。ピタでした!

MSTEST では、VS のすべてのテストのリストを保持する必要があります。このリストを維持する必要があります (新規/削除されたテストの追加/削除)。テストはこのリストから消え、その理由はわかりません。このリストを保持するファイルはマージされません! したがって、新しいテストを同時に追加すると、別の人がテストを追加すると、競合が発生し、解決する必要があります。理由がわかりません。問題なくマージされるはずです。

MSTEST を使用しない理由を探すこともできます。

MSTest から xUnit.net に移行する理由 by Mark Seemann

于 2013-03-06T20:17:56.163 に答える
0

私は同意します-3つすべてが良いです。あまり重要ではないかもしれませんが、 DbContextクラスをモックするのは簡単ではないため(特にSQL Serverを使用する場合)、適切なモックフレームワークを見つけるのははるかに困難です。あなたがそれを使うならば、私はTypeMockを推薦することができます、さもなければRhinoMocksは良いでしょう。

于 2013-03-06T09:04:51.587 に答える
0

あなたが言及した3つはすべて非常に堅実で、仕事を成し遂げます。個人的には、MSTestの方が好きです。習得して使用するのは簡単ですが、まともな機能を備えています。xUnit と同様に、テストの実行前と実行後にセットアップ[TestInitialize]とクリーニングを行うこともできます。[TestCleanup]私の提案は、1つを取ってそれを学ぶことです. それを知り、その長所と短所を学んだら、仕事をより速く、またはより良くするのに役立つ別のものに移ることができます.

于 2013-03-06T08:45:56.820 に答える
0

xUnitをお勧めします。これは、非常にシンプルで簡潔な、非常に最新の単体テスト フレームワークです。私が xUnit で最も気に入っている機能は、テスト メソッドごとに 1 つのオブジェクト インスタンスがあることです。これは、テストが互いに影響を与える可能性がはるかに低いことを意味します。たとえば、NUnit にはこの機能がなく、簡単に不安定なテストにつながる可能性があります。さらに、xUnit は標準の .NET 機能を使用して、セットアップやティアダウンなどを行います。これはコンストラクタとデストラクタを介して行われるため、新しい規則を学ぶ必要はなく、独自の規則をそのまま使用できます。最後に、xUnit テスト クラスは、使用される属性が少なく、アサーション メソッドが短いため、見た目がはるかに優れています。

于 2013-03-06T08:17:03.663 に答える