在Rhino Mocks中模擬類和接口有什麼區別?模擬類和接口之間有什麼區別?
2
A
回答
5
你不能嘲笑具體類本身,除非類是抽象的或具有虛擬方法。您可以僞造抽象類的合同,或使用Rhino Mocks僞造虛擬方法。
模擬一個接口只是意味着你正在定義一個假的接口實現。
+2
你也可以模擬從MarshalByRefObject繼承的類 – 2011-03-15 13:57:08
3
嘲笑一個類的屬性和函數需要聲明爲虛擬的。當嘲笑一個界面時,你可以自由地嘲弄而不會出現問題。
此外,如果您嘲笑某個類,則可以運行未被模擬的代碼,如果您正在模擬一個接口,則無法完成此操作。比方說,你想檢查你的類是如何運作的,當一個特定的函數返回一個你可能需要模擬一個類的特定值時。儘管如此,我建議儘可能地使用嘲諷的界面。它要容易得多。
相關問題
- 1. 抽象類和接口之間有什麼區別?
- 2. 在RSpec中,模擬和雙重之間有什麼區別?
- 3. Erlang Web網關接口(EWGI)和Webmachine之間有什麼區別?
- 4. 仿真和模擬有什麼區別?
- 5. 子窗口和後代窗口之間有什麼區別?
- 6. 彈出窗口和彈出窗口之間有什麼區別?
- 7. IComparable和IEquatable接口有什麼區別?
- 8. 「層」和「層」之間有什麼區別?
- 9. Tableau和QlikView之間有什麼區別
- 10. Microsoft.CompilerServices.AsyncTargetingPack和Microsoft.Bcl.Async之間有什麼區別?
- 11. @Entity和@embeddable之間有什麼區別
- 12. ContentObservable和DataSetObservable之間有什麼區別?
- 13. touchmove和gesturechange之間有什麼區別?
- 14. :notification.flags和notification.defaults之間有什麼區別?
- 15. proc和lambda之間有什麼區別?
- 16. :: after和after之間有什麼區別?
- 17. read()和io.read()之間有什麼區別?
- 18. Request()和Request.Form()之間有什麼區別?
- 19. WebServiceBinding.EmitConformanceClaims和WebServiceBinding.ConformanceClaims之間有什麼區別?
- 20. getA()和this.getA()之間有什麼區別?
- 21. (int)和intval()之間有什麼區別?
- 22. set_value和= pandas之間有什麼區別
- 23. * zoom和zoom之間有什麼區別?
- 24. {0}和「」之間有什麼區別?
- 25. typedef和using之間有什麼區別?
- 26. 「」和「'之間有什麼區別?
- 27. STDIN和tty之間有什麼區別?
- 28. +和%之間有什麼區別?
- 29. sysfs_create_file()和sysfs_create_group()之間有什麼區別?
- 30. Lazy.Force()和Lazy.Value之間有什麼區別
可能的重複http://stackoverflow.com/questions/349452/what-is-the-difference-between-moq-ing-a-class-or-interface – 2011-03-15 13:56:02