我正在尝试使用对COM接口(interface)具有依赖性的对象进行TDD。我虽然要在进行开发测试时模拟COM接口(interface),但实际上要在集成测试中做到这一点。
但是,我无法模拟COM接口(interface),我尝试使用Moq,它引发了一个异常:
其他框架有可能吗?
您如何使用依赖于COM的对象进行TDD?
在此先感谢!或代表
最佳答案
我建议您对COM对象的接口(interface)拥有所有权,这是依赖性反转原则发挥作用的地方。
如果您无权访问源,则必须创建自己的用于包装COM对象的抽象,否则,您将在整个代码中进行第三方调用。
[编辑]
现在应该可以模拟抽象了。包装程序的实际实现将COM对象作为HAS-A
关系。
然后,您将需要对实现进行集成测试。
您需要将COM对象本身视为类似于数据库或图形呈现引擎或Web服务。