【发布时间】:2010-08-19 11:37:12
【问题描述】:
(C#、WCF 服务、Rhino Mocks、MbUNit)
我一直在为已经到位的代码编写测试(是的,我知道这是错误的方法,但这就是我当前合同的结果)。我已经做了很多重构来支持模拟——注入依赖项、添加额外的接口等——所有这些都改进了设计。一般来说,我的测试经验一直很顺利(暴露脆弱性并改善解耦)。对于我一直在创建依赖模拟的任何对象,这对我来说很合适并且很有意义。
该应用程序本质上具有 4 个物理层。数据库,用于数据访问的存储库层,通过管理(或业务逻辑)层连接到存储库的 WCF 服务,所以自上而下看起来是这样的;
WCF 经理人 存储库 数据库
测试管理器和存储库层非常简单,使用 Rhino Mocks 模拟依赖关系并将它们注入到被测层中。
我的问题在于测试顶级 WCF 层。由于我的服务没有允许我注入依赖项的构造函数,因此我不确定在测试服务上的公共方法 (ServiceContracts) 时如何模拟依赖项。
我希望这是有道理的,并且非常感谢任何帮助。我知道 TypeMockIsolator 等,但出于预算和其他原因,我真的不想走那条路,我不会在这里介绍。此外,我确信有很多聪明的“堆垛者”拥有我需要的信息。
提前致谢。
【问题讨论】:
标签: c# dependency-injection mocking wcf rhino-mocks