63

.NET をフルタイムで数年間使用していなかった後、もう少し .NET に戻ってきており、最近の優れた単体テスト パッケージは何か疑問に思っています。

私は NUnit (数年前) に精通しており、 RSpecのようなものを実現することを目標に、IronRubyを少しいじりましたが、それ以上のことはよくわかりません。

私はこれをググって1日と呼ぶことができることを理解していますが、ここで質問することで、より良い、より多くの情報に基づいた応答が得られる可能性が高いと思います:-)

提案?

4

11 に答える 11

54

めちゃくちゃ多いです。めちゃくちゃいいと思います。

  • 保守的なタイプ (私) の場合、NUnitはまだ利用可能であり、まだまだ有能です。
  • Microsoft タイプの場合、MSTestで十分ですが、NUnit に比べて遅くて扱いにくいです。また、Visual Studio の高価なバージョンに大金を払わなければ、コード カバレッジも不足しています。
  • MbUnitもあります。これは NUnit に似ていますが、RowTest (異なるパラメーターで同じテストを実行する) や Rollback (テスト後にデータベースを元の状態に戻す) などの気の利いた機能があります。
  • そして最後に、xUnit.netは、いくつかの姿勢を持つトレンディなオプションです。
  • ああ、TestDriven.NETは、NUnit と MbUnit の両方の IDE 統合を提供します。

きっとみんな元気です。ただし、箱から出してすぐに 1 つの IDE にすべてが含まれているという便利さを楽しんでいない限り、MSTest には近づきません。

Scott Hanselmanはまさにこのトピックに関するポッドキャストを持っています。

于 2008-08-05T02:15:24.873 に答える
8

ここでは NUnit とMbUnitを使用します。TestDriven.NETを使用して、Visual Studio 内から単体テストを実行します。モック フレームワークとして、強く推奨される優れたRhinoMocksを使用します。

于 2008-08-06T16:07:06.083 に答える
8

NUnit に固執します。MSTest の近くには行かないでください。

NUnit + ReSharper は、一緒に仕事をする絶対的な喜びです。

于 2008-08-14T15:09:17.867 に答える
6

xUnit.netは、NUnit、MbUnit、およびMSTestに対してわずかに異なるアプローチを提供しているように見えます。これは興味深いことです。

RSpecのようなソリューションを探しているときに(RSpecが大好きなので)、少し言葉遣いに見えるNSpecにも出くわしましたが、C#3拡張メソッドを使用するためのNSpec Extensionsアドオンと組み合わせると、かなり見栄えがします。

于 2008-08-05T20:53:00.903 に答える
6

以前は NUnit を使用していましたが、現在は 2 つの重要な機能のために MbUnit を使用する傾向があります。 1. RowTest 機能を使用すると、異なるパラメーター セットで同じテストを簡単に実行できます。2. ロールバック機能を使用すると、データベースに対してテストを実行しながら、毎回のテスト後に変更をロールバックして、データベースを毎回まったく同じ状態に保つことができます。[Rollback] 属性を追加するのと同じくらい簡単です。

MbUnit のもう 1 つの優れた点は、その構文が NUnit とほぼ同じであることです。そのため、NUnit の下にテスト ベッド全体が既に配置されている場合は、コードを (ほとんど?) 変更する必要なく参照を切り替えることができます。

于 2008-08-28T03:52:44.877 に答える
5

私は以下を使用します:

TestDriven.NET - Visual Studio の単体テスト アドオン

Typemock Isolator - .NET 単体テスト用のモック フレームワーク

NUnit - C# のオープン ソース ユニット テスト フレームワーク.

于 2008-10-15T14:33:01.073 に答える
4

Gallio v3.1 がIronRubyを介してRSpecをサポートするようになったことは興味深いかもしれません。

于 2009-07-19T20:34:25.343 に答える
3

私は(ReSharper を使用していますが) TestDriven.NET が好きで、 XUnit.net にはかなり満足してます。多くの人が嫌うテストの代わりに事実を使用しますが、私は用語の違いが好きです. ソフトウェアに関する自動的に証明可能なファクトのコレクションを考えて、変更を加えたときにどのファクトに違反しているかを確認すると便利です。

Visual Studio 2008 Professional (およびそれ以降) には統合された単体テストが付属しており(以前は Team System エディションでのみ使用可能でした)、ニーズに適している可能性があることに注意してください。

于 2008-08-05T02:07:50.257 に答える
2

以前は NUnit を使用していましたが、 MbUnit の方が機能が多いため、 MbUnitに切り替えました。

RowTest が大好きです。テストをパラメータ化できます。ただし、NUnit のツール サポートは少し優れています。ReSharper を使用して MbUnit テストを実行しています。MbUnit の SetUp メソッドを実行している TestDriven.NET で問題が発生しました。

于 2008-08-06T21:03:00.167 に答える
2

NUnit、MSTest などはすべてほとんど同じことを行います。ただし、NMock は不可欠です。

NMock または任意のモック パッケージは単体テストではありませんが、単体テストを実行するのが非常に簡単になります。

于 2008-08-14T15:04:08.673 に答える
1

私はMbUnit、ええと、ガリオが好きです。私にとって最も重要なことは、Visual Studio 内で優れたツールがサポートされていることです。そのために、 MbUnit テスト ランナーを備えたResharperを使用します。多くの人がTestDriven.NETをテスト ランナーとしても気に入っているようです。

于 2008-08-05T00:57:48.773 に答える