【问题标题】:mocking database objects with Rhino mock使用 Rhino mock 模拟数据库对象
【发布时间】:2013-04-10 12:52:38
【问题描述】:

如果这个问题已经被问到,我很抱歉。我对单元测试非常陌生,我想使用 Rhino 进行模拟。

所以问题是......我有一个测试方法,该方法假设会根据输入参数检索一些数据并作为数据表返回。

它还进行一些计算以找出应该调用哪个存储过程以及使用哪组参数。

我的问题是,当我使用模拟对象调用该方法时......它会在数据库检索代码行的日期引发错误,因为对象未设置为实例。这是意料之中的,因为我们正在模拟它,因为它们没有从数据库中返回数据。

那么在这种情况下该怎么办呢。

【问题讨论】:

    标签: unit-testing c#-4.0 testing rhino-mocks rhino


    【解决方案1】:

    看来现在是介绍Repository Pattern的好时机。

    如果你引入than,产生对DB的查询的逻辑和从DB读取数据的逻辑将被封装在Repository中。

    在这种情况下,您可以在测试中模拟/存根存储库,并且可以对所有使用存储库的类进行单元测试,而根本无需创建测试数据库。

    Repository mock 将验证传入参数是否正确。
    并且存储库存根将返回每个特定测试所需的任何特定于测试的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多