【发布时间】:2009-04-22 18:24:43
【问题描述】:
编辑:语言/平台是 C# / .Net
我目前正试图填补我当前项目中的一个巨大的单元测试空白,并且诚然是 TDD 的新手,我发现自己对于如何开始测试一些更关键的业务功能感到很困惑。
我选择了 Moq,并且很轻松地进行了简单的模拟,但是在我的应用程序的核心是一个相当大的、可怕的 COM 互操作层,我很难概念化如何适当地进行单元测试。 COM 组件完全是第 3 方,因此无法修改,它实现了相当于处理电话呼叫的有限状态机。该组件通过一组非虚拟事件通知我的应用程序,我想以特定顺序对其进行测试以模拟状态更改,但是 Moq 不提供任何方法来为虚拟事件执行此操作。
所以我对知识渊博的 TDDers/Mockists 的问题是:你会如何测试这种东西?
显然 TypeMock 支持这一点(以换取它自己的缺点),但出于类型安全方面的各种原因以及我普遍认为它在我背后做一些狡猾的事情,我宁愿不使用它。
【问题讨论】:
标签: tdd moq com-interop typemock