首页 > 解决方案 > jest - 模拟函数中的间谍函数

问题描述

我在另一个模拟函数中有一个链式模拟函数,我需要监视它们,但我不知道如何监视第二个。

这是一个例子:

res = {
  status: jest.fn(() => {
    return {
      json: jest.fn()
    }
  })
}

expect(res.status).toBeCalled() // This works
expect(res.status.json).toBeCalled() // This does not
expect(res.status().json).toBeCalled() // This does neither

标签: mockingjestjs

解决方案


我在这里找到了解决方案:Spying on chained method calls with Jest not working

诀窍是分开定义:

json = { json: jest.fn() }
res = {
  status: jest.fn(() => json)
}

推荐阅读