mocking - 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
解决方案
我在这里找到了解决方案:Spying on chained method calls with Jest not working
诀窍是分开定义:
json = { json: jest.fn() }
res = {
status: jest.fn(() => json)
}
推荐阅读
- oracle - SQL Server 到 Oracle 数据类型的转换
- javascript - 可以推送到数组所在状态的数组吗
- r - 如何使用 R 登录网站并检查登录成功?
- javascript - 谷歌浏览器中没有出现视差图像
- sass - 链接到父级的 SASS 选择类
- vhdl - 在测试台内使用 for 循环以涵盖所有可能情况的正确方法
- java - 如何在 Java 中定义对象的队列大小(队列数据结构)
- reactjs - 在反应中通过2个键过滤列表
- asp.net - Castle.Windsor - HttpContext.Current 为空。PerWebRequestLifestyle 只能在 ASP.Net 中使用 - 通过异步调用,绝对来自控制器
- reactjs - 在发送到 Web 视图的反应 js 应用程序中获取标头值