ابحث عن أفضل مفتوحة المصدر ساخرا الإطار .صافي

StackOverflow https://stackoverflow.com/questions/807646

  •  03-07-2019
  •  | 
  •  

سؤال

أعرف أن هذا هو شخصي إلى حد ما ، ولكن أنا الغوص في التجارب والتعلم عن الاستهزاء و أنا أحاول أن أعرف أي إطار يجب أن تستخدم.إذا كنت يمكن أن يرجى إخباري تلك التي كنت ريكوميد والأهم من ذلك لماذا هو أفضل من غيرها كنت قد استخدمت أود أن aprpeciate.أو إذا كان أي شخص يعرف أين يمكن الحصول على جنبا إلى جنب مقارنة شأنه أيضا أن تكون مفيدة.

هل كانت مفيدة؟

المحلول

موك هو الأكثر تقدما.ويستخدم جميع الميزات .NET framework 3.5 و C# 3.0.هذا من شأنه أن تكون مثيرة للاهتمام:

نصائح أخرى

لقد استعملت وحيد القرن.يسخر, موك & NMock.كنت تفضل موك.

أنا الآن استخدام NSubstitute...وجدت أن بناء الجملة بكثير من موك و لا التضحية بأي شيء من قبل السلطة.

اعتدت أن أكتب الاختبارات مثل هذا:

[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();
}

نقطة أخيرة بالنسبة..على جيثب...

http://nsubstitute.github.com/

أنا أحب RhinoMocks, لكنه واحد فقط لقد المستخدمة :}

هذا يبدو واعدا:http://code.google.com/p/mocking-frameworks-compare/

أنا أيضا باستخدام RhinoMocks.أنا لا سيما مثل AAA (ترتيب-القانون-تأكيد) نمط.RhinoMocks يجعل من السهل اقامة التوقعات وتحقق لهم باستخدام هذا النمط.جملة الاستخدامات lambdas و تسلسل الذي يناسب بشكل جيد جدا مع LINQ.التشابه في الجملة يساعد على فهم ويسمح القانون أن تكون أكثر إحكاما.المشكلة الوحيدة لدي مع ذلك, انها ليست ضخمة ، هو أنه من أجل أن يسخر الأسلوب فإنه يحتاج إلى أن تكون افتراضية.بمعنى أن هذا أمر جيد لأنه "القوات" إلى ريفاكتور إلى واجهات, ولكن يمكن أن يكون الألم إذا واجهة ليست المطلوبة.يمكن أن تجعل الاستهزاء ببعض إطار دروس أكثر صعوبة.يمكنك الحصول على حول هذا عن طريق وضع الخاص بك أساليب الفئة الافتراضية أو مع إطار دروس إنشاء المجمع أنك وهمية بدلا من ذلك.أنا لا أعتقد أن هذه القضايا هي فريدة من نوعها RhinoMocks.

قد تجد ريتشارد البنوك سلسلة من الوظائف مقارنة ساخرا الأطر مفيدا.

ملاحظة:في مصلحة من الكشف الكامل ، أنا المؤلف المشارك NSubstitute الذي يخرج إيجابيا جدا في المقارنة.:)

لقد استعملت NMock واعتقد انها ممتازة.http://www.nmock.org/

ومع ذلك - وهذا هو واحد فقط لقد استعملت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top