アプリケーションにテスト スイートを追加しようとしていますが、.NET 3.5 用の新しいテスト フレームワークに移行できません。
使用するのに適したテスト フレームワークについて提案がある人はいますか?
私たちはMbUnitとRihno Mocksを使用していますが、それらは非常にうまく連携することが証明されています。TDD を実行する場合、ほぼ確実に依存性注入の何らかの形式を実行する必要がありますが、これは手動で実行できますが、Castle Windsorなどの IoC コンテナーを検討する価値があります。
まず始めに、John Paul Bodhood のスクリーン キャストを見る価値があります。JPBのブログ
NUnit と Rhino は相性がよく、自動モッキング コンテナーが興味深いかもしれません。
BDD も検討している場合は、NBehaveがおそらく適切な選択です。ただし、単体テスト (xSpec) に関連する BDD のスタイルを意味するだけである場合は、フレームワークを追加することはできますが (specunit のようなものは構文糖衣を追加します)、MSpecも興味深いものです。
MSpec を使用した BDD に関する Rob Conery のスクリーンキャストをご覧ください。非常に印象的http://blog.wekeroad.com/mvc-storefront/kona-3/
編集:私は今、このアプローチを使用しています: http://10printhello.com/the-one-bdd-framework-to-rule-them/
これはおそらくすでに言われたことの要約ですが、TDDの場合、私は個人的にRhinoMocksとMBUnitを使用します。Rhino Mocksは、無料でオープンソースのモックフレームワークです。Rhino Mocksの利点は、NMockのように、期待値を設定する際にマジックストリングを使用する必要がないことです。
MbUnitには、テストメソッドへの入力を変更できるRowTestsの概念があるため、MBUnitが好きです。MBUnitも無料でご利用いただけます。
また、単体テストフレームワークに選択したものがすべて、CI(継続的インテグレーションサーバー)でサポートされていることを確認する必要があります。NunitはCruiseControl.NETでデフォルトでサポートされており、MBUnitをccnetで機能させるには、少し余分な作業を行う必要があります。
IDEの観点からは、TestDriven.NETが必要です。TestDriven.NETを使用すると、IDEで右クリックしてテストを実行でき、MBUnitやNunitなどをサポートします。
NBehaveは私が使用したBDDライブラリです。私は他のものを使用したことがないので、それらを比較対照することはできませんでしたが、NBehaveはMBUnitチームのGallioによってサポートされています。つまり、TestDriven.NETでの単体テストと同じようにBDDテストを実行できます。
また、Resharperを強くお勧めします。このリファクタリングおよびガイダンスツールを使用すると、生産性が大幅に向上します。テストを開発するときに、コードを変更するのに役立ちます。
お役に立てれば
私もNUnitを使用して大きな成功を収めました。
また、モック オブジェクトが必要になったときにもNMockを使用しました。追加のボーナスとして、モック オブジェクトを作成するためのファクトリは Mockery と呼ばれます。
単体テストの実行を容易にするために、TestDriven.NETを使用して、コーディングしたとおりに単体テストを実行しました。また、Cruise Control .NETを使用して SVN を監視し、すべての新しいコミットがビルドされ、すべての単体テストに合格することを確認しました。
モック オブジェクト ライブラリについては、BSD ライセンスのRhino.Mocksがかなり気に入っています。
私はMoqのために叫び声を上げなければなりません。これは、成功の落とし穴にあなたを導く、クリーンで軽いモックフレームワークです。
TFSに組み込まれているテストツールは問題ありません。彼らは仕事を成し遂げますが、多くの場合、作業が少し面倒になる可能性があります。生成されたレポート、コードカバレッジ、およびその他のいくつかの部分は特に悪いです。彼らはあなたを50ではなく22でハゲにします。
テストが本当に好きな場合は、継続的インテグレーションを試すことを検討してください。退行による痛みをすぐに感じるでしょう。この痛みは、最終目標に早く到達するのに役立つ可能性があります。
何をするかに関係なく、時間があれば、いくつか試してみて、どれが最も自然であるかを確認してください。幸運と幸せなコーディング。
NUnitはhttp://www.nunit.orgで入手できます 。MS スタックで作業している場合でも、これをお勧めします。非 MS フレームワークのサポートは、MVC プレビューで行われており、正しい方向への明確な動きを示しています。スタックをカスタマイズしてフィットさせます。
TFS で nUnit を使用することはそれほど難しくありません。これを実装するための codeplex のプロジェクトもあります: NUnit for Team Buildは結果をウェアハウスに「公開」します。
私は試していませんが、TFS の実装に関心がある nUnit に多額の投資をしている (または MSTest ツールよりもそれを強く好む) クライアントには、すべての変換を試みるのではなく、nUnit を使い続けることをお勧めします。既存のテスト。
NUnit は常に私のお気に入りです。ただし、ソース管理として TFS を使用している場合は、Microsoft Stack を使用することをお勧めします。
次のことをお勧めします。
TestDriven.NET - NUnit、MbUnit などを含むすべての主要な単体テスト フレームワークと完全に統合された VS 用の単体テスト アドオン。
Typemock Isolator - .Net 単体テスト用のモック フレームワーク
NUnit - C# のオープン ソース ユニット テスト フレームワーク.