Parametreleri uygulayan bazı eski yöntemlere karşı bir test oluşturmaya çalışıyorum. Bunun nasıl yapılacağını bana bir örnek verebilir misiniz?Moq Örnek dışarı ve ref kullanarak
cevap
Sadece out
veya ref
parametresini sınamadan atayın. http://code.google.com/p/moq/wiki/QuickStart üstündeki ikinci örnekle yanlış
[TestMethod]
public void Test13()
{
string bar = "ploeh";
var legacyStub = new Mock<ILegacy>();
legacyStub.Setup(l => l.Foo(out bar))
.Returns(true);
Assert.IsTrue(legacyStub.Object.Foo(out bar));
Assert.AreEqual("ploeh", bar);
}
yayınladım. İhtiyacım olan herşeyi tamamla. "It.IsAny" maddesini kullanmamış olsanız da bir şey EG (Foo (out it.IsAny
Bir sürü It.Is * QuickStart'ta da ... - Ben de düzenli bir şekilde okumanızı öneririm - bunu sindiremezsiniz tek geçiş (ve tek bir test paketine ihtiyacınız varsa, yanlış bir şey yapıyorsunuz!) –
@ devnet247: Bu sizden + 1'e değmez - Mark'ın zamanına çok az saygı gösterir mi? (Birisi de Q1'i +1 verdi - Sanırım bu Mark olduğunu düşünürüm - hiçbir ev ödevi yapmadığı için ona karşı -1). + Bu cevabı vermek. –
şey: Böyle bir test yazabilir
public interface ILegacy
{
bool Foo(out string bar);
}
:
Bu arayüzü Verilen? Böyle şeyler aramayacaksanız, yapmaya çalıştığınız şeylerden örnekler vermelisiniz.
Ben katılıyorum.Özellikle gerçek bir "Gerçek Kod" biraz karmaşık ve post it.Ondan bir noddy örnek inşa olmalıydı olarak bu bir başlangıç olarak nerede bilmiyordum.Lesson – user9969
+1 Ben öğrendim quickstart hakkında da unuttum :) –
Ayrıca, çıkış parametresiyle dalga geçmek için moq (şu anda) kullanmak isterseniz, aşağıdaki kasnak sıçramasını da yapmanız gerekir. Başka bir alay konusu nesne döndüren bir çıkış parametresiyle dalga geçmek istediğinizi varsayalım.
var mockServiceA = new Mock<IMyService>();
var mockServiceOutput = new Mock<IMyServiceOutput>();
// This will not work...
mockServiceA.Setup(svc => svc.DoSomething(out mockServiceOutput.Object));
// To have this work you have to do the following
IMyServiceOutput castOutput = mockServiceOutput.Object;
mockServiceA.Setup(svc => svc.DoSomething(out castOutput));
- 1. - Moq
- 2. Ref Parametreler ve yansıma
- 3. Moq
- 4. Moq
- 5. ServiceStack ISession'ı Moq ve StructureMap kullanarak nasıl alay ediyorsunuz?
- 6. MOQ
- 7. Moq kitaplığını kullanarak SerialPort alayını nasıl oluşturabilirim?
- 8. Neden Moq ile oluşturulan alaycı örnek almak bir System.BadImageFormatException?
- 9. C# ve Moq, soyut sınıf mock
- 10. akış-ref ve işlem stratejisi
- 11. Moq kullanarak bir yöntem çağrısı doğrulayın
- 12. Mock DbSet'e öğe ekleme (Moq kullanarak)
- 13. Bir olayı Moq kullanarak nasıl yükseltebilirim?
- 14. Mock OData İstemcisinin Kapsayıcısını Kullanarak Moq
- 15. Moq Alıkoyma ve izleme Oturum değerleri
- 16. Örnek arıyor MediaFileUpload kullanarak
- 17. scalaz Monad kullanarak örnek
- 18. C# "dışarı parametreleri" ile gömülme mono
- 19. C şamandıra dışarı yazdırma
- 20. Facebook'un örnek kodunu kullanarak kaynak "Kaynak yüklenemedi"
- 21. NSubstitute ref parametrelerini destekliyor mu?
- 22. MSI dosyalarını dışarı aktarma
- 23. Sınıf VS ref Yapı
- 24. Sanal üyeler alaylı Moq
- 25. Ref geçiyor mu?
- 26. Tekli Tutulma Perspektifini ve Ayarlarını Dışarı Aktar
- 27. İçeri ve dışarı çıkma UIButton bakışta
- 28. CAL EventAggregator'ı Moq ile eşleştiriyor
- 29. REF CURSOR ve Oracle'da TABLO işlevine karşı
- 30. MySQL'de eq_ref ve ref türlerinin anlamı nedir
Ne yaptığınızı ve neden beklendiği gibi çalışmadığını netleştirmeniz gerekir. Sadece "Dışardan parametrelerle" yeterli değil - başlamak için neden Moq'a ihtiyacınız var? Lütfen bazı kodları göster. –
Yeterince adil. Çevre bir şeyleri karmaşık hale getirmek için bir şeyler yapmak zorundayım. Sadece bir yerde tam bir pasaj olup olmadığını merak ettim.Tüm bunlar. Birlikte bir şey koyacağım ve – user9969