我正在使用動態調度的項目。當用Moq單元測試我的一些方法時,我偶然發現了一些我不明白的東西。Moq單元測試動態調度
我試圖重現它下面的測試:
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
Mock<Test> _m = new Mock<Test>();
//if i do
//dispatch(_m.Object); //this line causes Exception
//Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:
//'Castle.Proxies.TestProxy' doesn't contain définition for 'Object'
//but if i do
Test ts = _m.Object;
dispatch(ts); //this line works fine
//verify
_m.Verify(m => m.Display(), Times.Once());
}
public void dispatch(Test p)
{
p.Display();
}
}
public interface Test
{
void Display();
}
}
有人能請解釋一下我爲什麼它不沒有投給Test
工作?如何在沒有投射的情況下單元測試動態分配? (這是不可能的代碼......所以爲什麼我們使用動態調度)
謝謝
爲什麼你把你的班級變成動態的,你知道什麼是動物使用?! –
有沒有解決你的問題的答案?那麼請標記它! –
'動態t = _m.Object;'不應該在問題中。對不起,這是我以前的一次嘗試。 – Jissai