Birim sınama için NUnit 2.6 ve Moq 4.0 kullanıyorum. Sanal üyelerle ilgili olarak, Moq'un proxy nesnelerine gerçek uygulama için (muhtemelen tasarıma göre) yöntem çağrıları iletmediği özel bir durum söz konusudur. Dersim ...Sanal üyeler alaylı Moq
public class MyClass {
protected virtual void A() {
/* ... */
}
protected virtual void B(...) {
/* ... */
}
}
vardı ... ve eğer Mesela ben kullanarak ... ... benim test fikstür
var mock = new Mock<MyClass>();
mock.Protected().Setup("A").Callback(SomeSortOfCallback);
GetSomethingElse
'ın A()
yöntemi geçersiz kılmak için MOQ kullanın Sahte A
yöntemi, muhteşem çalışır; Ancak, söz konusu yöntemde herhangi bir şey, B
numaralı yöntemle alay yöntemini çağırırsa, yöntem, MyClass
'da gerçek bir uygulama olsa bile, hiçbir şey yapmaz ve/veya varsayılan değerleri döndürür.
Bu konu üzerinde çalışmanın bir yolu var mı? Ahlak yanlış mı kullanıyorum? peşin
sayesinde
Manny
Yine de başka yöntemlerle dalga geçmek isterseniz? –
@LouisRhys Bu, bununla etkileşime girmediğinden emin olun - eğer bir şey 'CallBase' ayarını açıkça atarsanız asla oyuna girmez. –