【问题标题】:How to mock or stub a .netTiers generated DataRepository object如何模拟或存根 .netTiers 生成的 DataRepository 对象
【发布时间】:2009-05-04 18:54:44
【问题描述】:

我正在使用 Rhino 模拟来模拟对象的单元测试。我们的 DAL 使用 codesmith 从 .netTiers 模板生成代码,这些模板创建了这些 DataRepository 类,其中包含 CRUD 类型事务到数据源的所有方法。在单元测试中,我试图模拟这个没有接口类用作存根的数据存储库对象。

简而言之,有没有人成功地使用 Rhino mocks 来模拟 .netTiers 生成的 DataRepository,从而避免需要测试数据库和针对最终需要拆除的数据源的真实事务??

【问题讨论】:

    标签: c# unit-testing mocking rhino-mocks .nettiers


    【解决方案1】:

    我一直在思考这个问题,因为还没有人站出来为 netTiers 编写模拟 DataRepository 实现(据我所知)。

    由于我不太关心 TypeMock 和 RhinoMocks 的记录重放步骤,我选择了更新的 Moq,它可以轻松地模拟 DataRepository 类或服务层调用自身。

    假设您使用的是 .NET 3.5,我会推荐它。

    【讨论】:

    • DataRepository 类上的所有属性都是静态的,因此要做的工作比起订量还多。
    【解决方案2】:

    简而言之,Rhino 只能模拟接口或非密封类的类型。然后,您只能存根虚拟或抽象的方法。

    如果您的目标是用模拟实现替换 DataRepository,我认为您将不得不研究更高级的模拟框架,例如 TypeMock

    如果您可以控制 CS 模板,另一种选择是使用模板来生成模拟 DataRepository 实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-30
      相关资源
      最近更新 更多