Test Driven Development'ı öğreniyorum ve alay için Moq kütüphanesini kullanmaya çalışıyorum. Mock sınıfının kurulum yönteminin amacı nedir?Mock nesneleri - Kurulum yöntemi - Test Driven Geliştirme
cevap
Kur yöntemi Örneğin sahte nesne üzerine beklentilerini belirlemek için kullanılır: Burada
mock.Setup(foo => foo.DoSomething("ping")).Returns(true);
sen alay nesne üzerinde DoSomething
yöntemi ayarlıyorsunuz. Parametre "ping" olduğunda, yöntem true değerini döndürür.
Artık bu nesne, kullanımınıza bağlı olarak sahte veya saplama gibi davranabilir. Devlet tabanlı testte kullanmak istiyorsanız, bir saplama olarak hareket edebilir. Davranış temelli testlerde kullanmak istiyorsanız, sahte olarak hareket edebilir.
: davranış testi olarak, yöntem "ping" parametresi ile
Ayrıca bakınız bu bağlantıları çağrıldı iddia etmek sahte nesne üzerinde yöntemini doğrulamak arayacak Bir Moq Mock
nesnesinin varsayılan davranışı, tüm yöntemleri ve özellikleri saplamaktır. Bu, herhangi bir parametreyle o yönteme/özelliğe yapılan çağrının başarısız olmayacağı ve belirli dönüş türü için varsayılan bir değer döndüreceği anlamına gelir.
- Sen yöntemine girdi değerleri kısıtlamak istiyorum:
Aşağıdaki nedenlerden herhangi biri veya tümü için
Setup
yöntemini çağırın.
public interface ICalculator {
int Sum(int val1, val2);
}
var mock = new Mock<ICalculator>();
mock.Setup(m=>m.Sum(
It.IsAny<int>(), //Any value
3 //value of 3
));
Yukarıdaki kurulum bir val1
için herhangi bir değer ile yöntemle Sum
çağrısı ve belirli bir değer döndürmek istiyorum 3.
- ait
val2
değerini eşleşir.ICalculator
örneğe devam edersek, aşağıdaki kurulum girdi parametrelerinin bakılmaksızın 10 değeri döndürür:
var mock = new Mock<ICalculator>();
mock.Setup(m=>m.Sum(
It.IsAny<int>(), //Any value
It.IsAny<int>() //Any value
)).Returns(10);
- Sen önceki tüm kurulumları denilen doğrulamak için size kurulumları sonra
Mock<T>.VerifyAll()
kullanmak istiyorum (bir Zamanlar).
var mock = new Mock<ICalculator>();
mock.Setup(m=>m.Sum(
7, //value of 7
3 //value of 3
));
mock.Setup(m=>m.Sum(
5, //value of 5
3 //value of 3
));
mock.VerifyAll();
Yukarıdaki kod Sum
iki kez denir doğrular. (7,3)
ile ve bir kez (5,3)
ile.
- 1. Mock
- 2. Test edilen sınıfta mock sınıfı
- 3. iPhone Yerel uygulamaları için Test Driven Tasarımı
- 4. Highcharts Performans Geliştirme Yöntemi?
- 5. Git: web geliştirme için önerilen kurulum
- 6. Test projesi, test ettiği projedeki nesneleri bulamıyor
- 7. Neden Feature Driven Development'ı kullanmalıyım?
- 8. mock resttemplate bir servisi restFul client olarak test etmek için
- 9. Mock olmadan Python yöntemlerini saplama
- 10. Birim test boşluk yöntemi
- 11. Java Mock nesne, bağımlılık enjeksiyon
- 12. Mockito alay nesneleri döndürür null
- 13. PHPUnit kurulum ve gözyaşı test durumları
- 14. Junit çoklu kurulum ve tek test
- 15. İşlevsel Olay Driven Programlama
- 16. ana paket nesneleri çoğaltın ve test edin
- 17. Grails'de test/geliştirme modu üzerinde özel init
- 18. Raylar: Geliştirme ortamında Cron İşlerinin Test Edilmesi
- 19. Ocaml'de test odaklı geliştirme nasıl yapılır?
- 20. test arayüzü-yönlendirici gitmek() yöntemi
- 21. Arabirim Yöntemi nasıl test edilir
- 22. jest mock application required ('')
- 23. Mock HTTPretty
- 24. Nasıl yapılır Mock
- 25. PHPUnit Mock S3Client iyi
- 26. @Mock ve @InjectMocks kullanarak
- 27. Koşu Android Testler Kurulum() yöntemi birden çok kez
- 28. Unit'sing Jasmine'in Mock Clock
- 29. Alakalı Genel Depo Mock
- 30. FileReader'da Mock FileInputStream, PowerMock
Birden çok farklı parametre ayarlamak için yalnızca Setup() öğesini birden fazla arayabileceğinin farkında değildim ve bu onu gördüğüm tek yer. –