[英]Mocking IDisposable classes
場景:我有一個預訂其默認構造函數中的靜態事件的類。 這樣,該類就可以設置為IDisposable
,這樣它就可以取消訂閱靜態事件,並可以正確地進行垃圾回收。 在使用RhinoMocks
測試中正在模擬此類。 它具有復合部分子級,可能不是IDisposable
。
問題:由於RhinoMocks
自動RhinoMocks
Dispose方法,因此我泄漏了這些對象。 由於仍然訂閱的對象會對未正確設置的事件做出反應,因此在不同的測試中會導致“隨機”錯誤。
問:我知道RhinoMocks有一些方法可以聲明應調用原始方法( CallOriginalMethod
),但是我注意到RhinoMocks
有時會在我自己的聲明之外創建代理。 因此,我認為我無法防止這些對象泄漏。 有辦法解決這個問題嗎?
模擬類時,可以傳入其他接口(或類型)以實現(例如IDisposable)
在單元測試的拆卸階段,您可以將模擬對象轉換為IDisposable類型,然后調用Dispose。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.