簡體   English   中英

模擬IDisposable類

[英]Mocking IDisposable classes

場景:我有一個預訂其默認構造函數中的靜態事件的類。 這樣,該類就可以設置為IDisposable ,這樣它就可以取消訂閱靜態事件,並可以正確地進行垃圾回收。 在使用RhinoMocks測試中正在模擬此類。 它具有復合部分子級,可能不是IDisposable

問題:由於RhinoMocks自動RhinoMocks Dispose方法,因此我泄漏了這些對象。 由於仍然訂閱的對象會對未正確設置的事件做出反應,因此在不同的測試中會導致“隨機”錯誤。

問:我知道RhinoMocks有一些方法可以聲明應調用原始方法( CallOriginalMethod ),但是我注意到RhinoMocks有時會在我自己的聲明之外創建代理。 因此,我認為我無法防止這些對象泄漏。 有辦法解決這個問題嗎?

模擬類時,可以傳入其他接口(或類型)以實現(例如IDisposable)

在單元測試的拆卸階段,您可以將模擬對象轉換為IDisposable類型,然后調用Dispose。

暫無
暫無

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

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