.NET をフルタイムで数年間使用していなかった後、もう少し .NET に戻ってきており、最近の優れた単体テスト パッケージは何か疑問に思っています。
私は NUnit (数年前) に精通しており、 RSpecのようなものを実現することを目標に、IronRubyを少しいじりましたが、それ以上のことはよくわかりません。
私はこれをググって1日と呼ぶことができることを理解していますが、ここで質問することで、より良い、より多くの情報に基づいた応答が得られる可能性が高いと思います:-)
提案?
めちゃくちゃ多いです。めちゃくちゃいいと思います。
きっとみんな元気です。ただし、箱から出してすぐに 1 つの IDE にすべてが含まれているという便利さを楽しんでいない限り、MSTest には近づきません。
Scott Hanselmanはまさにこのトピックに関するポッドキャストを持っています。
ここでは NUnit とMbUnitを使用します。TestDriven.NETを使用して、Visual Studio 内から単体テストを実行します。モック フレームワークとして、強く推奨される優れたRhinoMocksを使用します。
NUnit に固執します。MSTest の近くには行かないでください。
NUnit + ReSharper は、一緒に仕事をする絶対的な喜びです。
xUnit.netは、NUnit、MbUnit、およびMSTestに対してわずかに異なるアプローチを提供しているように見えます。これは興味深いことです。
RSpecのようなソリューションを探しているときに(RSpecが大好きなので)、少し言葉遣いに見えるNSpecにも出くわしましたが、C#3拡張メソッドを使用するためのNSpec Extensionsアドオンと組み合わせると、かなり見栄えがします。
以前は NUnit を使用していましたが、現在は 2 つの重要な機能のために MbUnit を使用する傾向があります。 1. RowTest 機能を使用すると、異なるパラメーター セットで同じテストを簡単に実行できます。2. ロールバック機能を使用すると、データベースに対してテストを実行しながら、毎回のテスト後に変更をロールバックして、データベースを毎回まったく同じ状態に保つことができます。[Rollback] 属性を追加するのと同じくらい簡単です。
MbUnit のもう 1 つの優れた点は、その構文が NUnit とほぼ同じであることです。そのため、NUnit の下にテスト ベッド全体が既に配置されている場合は、コードを (ほとんど?) 変更する必要なく参照を切り替えることができます。
私は以下を使用します:
TestDriven.NET - Visual Studio の単体テスト アドオン
Typemock Isolator - .NET 単体テスト用のモック フレームワーク
NUnit - C# のオープン ソース ユニット テスト フレームワーク.
Gallio v3.1 がIronRubyを介してRSpecをサポートするようになったことは興味深いかもしれません。
私は(ReSharper を使用していますが) TestDriven.NET が好きで、 XUnit.net にはかなり満足しています。多くの人が嫌うテストの代わりに事実を使用しますが、私は用語の違いが好きです. ソフトウェアに関する自動的に証明可能なファクトのコレクションを考えて、変更を加えたときにどのファクトに違反しているかを確認すると便利です。
Visual Studio 2008 Professional (およびそれ以降) には統合された単体テストが付属しており(以前は Team System エディションでのみ使用可能でした)、ニーズに適している可能性があることに注意してください。
以前は NUnit を使用していましたが、 MbUnit の方が機能が多いため、 MbUnitに切り替えました。
RowTest が大好きです。テストをパラメータ化できます。ただし、NUnit のツール サポートは少し優れています。ReSharper を使用して MbUnit テストを実行しています。MbUnit の SetUp メソッドを実行している TestDriven.NET で問題が発生しました。
NUnit、MSTest などはすべてほとんど同じことを行います。ただし、NMock は不可欠です。
NMock または任意のモック パッケージは単体テストではありませんが、単体テストを実行するのが非常に簡単になります。
私はMbUnit、ええと、ガリオが好きです。私にとって最も重要なことは、Visual Studio 内で優れたツールがサポートされていることです。そのために、 MbUnit テスト ランナーを備えたResharperを使用します。多くの人がTestDriven.NETをテスト ランナーとしても気に入っているようです。