首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模拟IDisposable类

模拟IDisposable类
EN

Stack Overflow用户
提问于 2014-04-22 17:34:38
回答 1查看 984关注 0票数 2

场景:我有一个在默认构造函数中订阅静态事件的类。因此,类被设为IDisposable,这样它就可以取消订阅静态事件并被正确地垃圾收集。这个类在使用RhinoMocks的测试中被模拟。它具有复合部件子项,这些子项可能是也可能不是IDisposable

问题:由于Dispose方法被RhinoMocks自动模仿,我泄漏了这些对象。这会导致不同测试中的“随机”错误,因为仍然订阅的对象会对它们未正确设置的事件做出反应。

问:我知道RhinoMocks有一些方法可以声明原始方法应该被称为(CallOriginalMethod),但我注意到RhinoMocks有时会在我自己的声明之外创建代理。因此,我不认为我可以防止这些对象被泄漏。有没有办法解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2014-05-16 09:53:55

当你模拟一个类时,你可以传入额外的接口(或类型)来实现(例如IDisposable)

在单元测试的拆卸阶段,您可以将模拟对象强制转换为IDisposable类型并调用Dispose

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23215728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档