2011-03-15 69 views

回答

5

你不能嘲笑具體類本身,除非類是抽象的或具有虛擬方法。您可以僞造抽象類的合同,或使用Rhino Mocks僞造虛擬方法。

模擬一個接口只是意味着你正在定義一個假的接口實現。

+2

你也可以模擬從MarshalByRefObject繼承的類 – 2011-03-15 13:57:08

3

嘲笑一個類的屬性和函數需要聲明爲虛擬的。當嘲笑一個界面時,你可以自由地嘲弄而不會出現問題。

此外,如果您嘲笑某個類,則可以運行未被模擬的代碼,如果您正在模擬一個接口,則無法完成此操作。比方說,你想檢查你的類是如何運作的,當一個特定的函數返回一個你可能需要模擬一個類的特定值時。儘管如此,我建議儘可能地使用嘲諷的界面。它要容易得多。

相關問題