17 Temmuz 2010, CUMARTESİ
Bir parametre alay hizmeti bir yönteme geçirilen Nasıl Adedi:
Bu sınıf hayal edin
public class Foo {
private Handler _h;
public Foo(Handler h)
{
_h = h;
}
public void Bar(int i)
{
_h.AsyncHandle(CalcOn(i));
}
private SomeResponse CalcOn(int i)
{
...;
}
}
Mo(s)Foo testi İşleyicisi lanet, nasıl Bar()
_h.AsyncHandle
geçti ne kontrol etmek mümkün olurdu?
CEVAP
20 Temmuz 2010, Salı
Sahte kullanabilirsiniz.Geri arama yöntemi:
var mock = new Mock<Handler>();
SomeResponse result = null;
mock.Setup(h => h.AnsyncHandle(It.IsAny<SomeResponse>()))
.Callback<SomeResponse>(r => result = r);
// do your test
new Foo(mock.Object).Bar(22);
Assert.NotNull(result);
Eğer sadece geçirilen bağımsız değişken üzerinde basit bir şey kontrol etmek istiyorsanız, siz de bunu doğrudan yapmak
mock.Setup(h => h.AnsyncHandle(It.Is<SomeResponse>(response => response != null)));
Bunu Paylaş:
Nasıl ASP.NET MVC HttpContext Adedi ku...
Nasıl alay ModelState.Adedi çerçeve ku...
Nasıl alay ConfigurationManager.Adedi ...
Nasıl parametre olarak gönderilen bir ...
Nasıl Android SOAP web hizmeti çağrısı...