kullanarak her çağrıldığında Mock yeni bir liste döndürür Beklenen bir dönüş listesi ile bir yöntem çağrısı alay etmek için MOQ kullanıyorum. Benim yöntemim bir liste döndürür ancak yöntemin her çağrılmasında alayın yeni bir liste oluşturmasını istiyorum. Bugüne kadar yaptığım Ne: Ben başarmak için çalışıyorum neNasıl yapılır Mock
List<Correlation> expected = new List<Correlation> { new Correlation() { Code = "SelfError1" }, new Correlation() { Code = "SelfError2" } };
Mock<IRPLValidator> selfMock = new Mock<IRPLValidator>();
selfMock.Setup(f => f.Validate()).Returns(expected);
sahte dönüş Yeni bir liste yöntemi olsun denilen en her zaman yapmaktır. Bu denedim ama işe yaramadı:
bu çalıştı olmadı gibiselfMock.Setup(f => f.Validate()).Returns(new List<Correlation>{ new Correlation() { Code = "SelfError1" }, new Correlation() { Code = "SelfError2" } });
, düşünüyorum da belki geri arama Sorumun cevabı ama benim liste reinitializing için herhangi uygun bir örnek bulamadık . Herhangi bir öneriniz var mı?
Her seferinde neden yeni bir listeye ihtiyacım olduğunu merak edebileceğiniz gibi, sorun, nesne türüne bağlı olarak listede bazı değişiklikler yaparak farklı nesne türlerinde yöntemi çağırmamdır. Sahte, yöntem her çağrıldığında bana aynı liste verdiğinden, her zaman aynı nesneyi bellekte değiştiriyorum, böylece üzerinde yaptığım değişiklikleri takip edemiyorum.
Şimdiden teşekkürler!
Bir çekicilik gibi çalıştım! Çok çok teşekkürler. Bu çok kolaydı. –
Teşekkür ederim - bir gün bu bütün kapanma şeyini alacağım. – David
Keşke bunu daha önce bulabilirdim, dün bir gün boşa harcadım, neden listemin neden güncellenmediğini merak ettim! Teşekkürler!!! – PmanAce