代码之家  ›  专栏  ›  技术社区  ›  bitshift

在测试api控制器时模拟存储库

  •  0
  • bitshift  · 技术社区  · 7 年前

    我试着熟悉MOQ和mocking的一般用法。所以我想测试一个api控制器,它使用一个程序集作为获取/更新数据的存储库。
    像这样的结构。

    HomeController
        Index
            Repository.GetSomeData  (returns JSON object)
    

    问题:“模拟”存储库如何在不做“真实”对象所做的事情的情况下工作?我看到的所有示例都是简单的加法、返回字符串等。

    0 回复  |  直到 7 年前
        1
  •  0
  •   Chris Pratt    7 年前

    当您模拟存储库之类的东西时,您将在存储库上删除一些方法以返回一些固定结果。然后,在存储库mock上调用这些方法,绕过真正的方法,而只执行您已经存根的操作。

    模拟的全部目的是移除变量,所以你故意尝试进入“快乐路径”:一组内部响应,将动作置于你正在进行的特定测试所需的状态。

    推荐文章