簡體   English   中英

如何模擬對象?

[英]How to mock object?

如果要測試的類是抽象類,如何模擬對象以進行測試? 您無法從中實例化嗎?

模擬是創建接口或抽象類的模擬實現,很少是具體類的模擬實現。 您可以使用模擬框架在運行時進行以下模擬:

如果要測試抽象類的通用實現,則應在測試子系統中創建一個虛擬的具體實現,並僅對該類的通用方法進行單元測試。

另一方面,如果您需要傳遞對抽象類的引用,那么按照Bozho的建議,您應該使用模擬框架。 我最喜歡的是JMock

正如Paddy所提到的,您確實想測試一個具體的類。

但是,如果要測試抽象類提供的功能,通常的方法是使用abstract方法創建abstract TestCase來提供具體的類,然后在AbstractWhateverTestCase測試通用功能。

有關某些示例,請參見http://c2.com/cgi/wiki?AbstractTestCases

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM