これはかなり主観的ですが、私はテストと嘲笑について学んでいます。私はどのフレームワークを使うべきかを考えようとしています。あなたがお勧めしたものを教えてください。最も重要なのはなぜ他のものよりも優れているのですか?私はあなたに勧めます。または、誰かが私がどこで比較をすることができるかを知っていれば、それはまた役に立つだろう。最高のopensource Mockingフレームワークfor .netを探しています
答えて
Moqが最も進んでいます。これは、.NET 3.5とC#3.0のすべての機能を使用します。これは興味深いものになるだろう:私はNMockを使用し、それが優れたと思いました
+1!私はNMock、Rhino Mocks、Moqを使用しています。 Moockは私の意見では最高のものです。 –
私はRhinoMocksが好き、それは私が使用した唯一の一つだ:これは有望に見える}
私もRhinoMocksを使用しています。私は特にAAA(Arrange-Act-Assert)パターンが好きです。 RhinoMocksは、このパターンを使用して期待値を設定して確認するのを簡単にします。この構文ではlambdaとchainingが使用されています。これはLINQとよく似ています。構文の類似性は理解に役立ち、コードをよりコンパクトにすることができます。私がそれを持っている唯一の問題であり、それは巨大ではない、メソッドを模擬するためには仮想である必要があるということです。ある意味では、これは良いことです。なぜなら、リファクタリングをインターフェイスに強制してしまうからです。しかし、インターフェイスが本当に必要ない場合は苦痛になることがあります。これは、いくつかのフレームワーククラスを模倣することをより困難にする可能性があります。これを回避するには、クラスメソッドをバーチャルにするかフレームワーククラスでマーキングするラッパーを作成します。私はこれらの問題がRhinoMocksに固有のものではないと思います。
Moqはすべてが抽象的であるか、インタフェースを実装しているか、仮想メンバを持っていなければならないという点で同じ「制限」を持っています。 – TheMissingLINQ
しかし、これは私が使用した唯一のものです。
NMockの問題(少なくとも私が使ったときの問題)はすべてのメソッド名が文字列であることでした。つまり、インタフェースを変更したときにコンパイラの助けを得ることはできません。また、リファクタリングツールがテストを正常に変更しないことを意味します。インターフェイスとリファクタリングツールを変更すると、RhinoとMoqは少なくともコンパイルされません。 –
公正なコメント - 他のものを見る時が来たと思う。 – Peanut
私はRhino.Mocks、Moq & NMockを使用しました。私はMoqを好んだ。
私は今NS substituteを使用しています...その構文がmoqのそれよりはるかに優れていることがわかりました。あなたは何かを犠牲にしないでください。
私はこのようなテストを書くために使用される:
[Test]
public void SomeOtherTest()
{
//Arrange
var mock = new Mock<IFoo>();
var sut = new SystemUnderTest(mock.Object); //never liked doing it this way...
mock.Setup(m => x.Bar()).Returns("A whole bunch of ceremonial syntax..");
//Act
sut.DoSomething();
//Assert
mock.Verify(m => m.Baz()); //Baaaaah, more laaaaambdas
}
今私は非ラムダerynessに浸る
[Test]
public void NSubTest()
{
var mock = Substitute.For<IFoo>();
var sut = new SystemUnderTest(mock); //much nicer!
mock.Bar().Returns("Look ma! No lambdas!");
sut.DoSomething();
mock.Received().Baz();
}
その
... githubの上の...のための最終的なポイントをリチャードバンクスのseries of posts comparing mocking frameworksが役に立ちます。
注は:完全な開示の利益のために、私は比較してかなり好意的に出てくるNSubstituteの共著者です。:)
- 1. 最高のモックアップアプリケーションを探してい
- 2. メタ・ロギング・フレームワークを探しています
- 3. FTP Mock for .NETフレームワーク
- 4. OpenSource .net SMSライブラリ
- 5. WebApi HttpClient for .NETフレームワーク3.5
- 6. 最高の.NETゲーム開発フレームワークは何ですか?
- 7. 良いSpringフレームワークのチートチートを探しています
- 8. 最新のEclipse for JDK 1.5を探す
- 9. 良いサンドボックスのフレームワークを探しています
- 10. OCR for VB.NET(VS 2008 PRO)を探しています
- 11. 無料のC++クロスプラットフォームのGUIフレームワークを探しています
- 12. osgi/eclipseアプリケーション用のMockingフレームワークですか?
- 13. 最高のNodeJs MVCフレームワーク
- 14. 分散システム、最高のフレームワーク?
- 15. 私はjavaのWebフレームワークを探しています
- 16. .Net MVCのスタティックコードレビューシステムを探しています
- 17. 最高のjavascriptコンソールfor chrome
- 18. .NET OpenSource IMapライブラリはありますか?
- 19. 良いPHPのフレームワークを探して - 「良い」の定義を、私は私のニーズに合わせて「良い」PHPのフレームワークを探しています
- 20. .NET BuildServerを探しているSaaS
- 21. ORM for ASP.net、ORACLE、ソリューションを探しています
- 22. smooks for .NETのような統合フレームワークはありますか?
- 23. ANYTHINGを期待される引数として指定できる.NET mockingフレームワークは何ですか?
- 24. .net winformの月/年セレクタコントロールを探しています
- 25. 特定の.Netを探していますORM
- 26. 私は次のWebプロジェクトのための良いフレームワークを探しています
- 27. 最高の.NETメモリとパフォーマンスプロファイラ?
- 28. 最高の.NET OCR API?
- 29. アプリケーションレベル高可用性ライブラリfor .NET
- 30. モバイルWeb用の純粋なCSS UIフレームワークを探しています
これらのフレームワークのどれがautomocking拡張機能を持っているか、たとえばAutoFacとAutoFixtureの両方がMoqをサポートしているかどうかを検討したい場合は、これらの両方が他のモックフレームワーク(Rhino、NS substituteなど)も同様です。パッケージマネージャーの中には、彼らの人気度や最近選択したときにどれだけ最近更新されたかを見てもよいでしょう。 – LightCC