最简单的模拟函数文档(https://jestjs.io/docs/en/mock-functions)使用.mock.calls.length
属性显示有关间谍的断言。
const myFunc = jest.fn()
myFunc();
expect(myFunc.mock.calls.length).toBe(1)
和
const myFunc = jest.fn()
myFunc();
expect(myFunc).toHaveBeenCalledTimes(1)
?
是糖吗?用户何时应使用mock
对象?
答案 0 :(得分:0)
是的,这些匹配器是糖,但是,当然,它们并没有涵盖人们可能想要断言的所有可能场景。如果用户没有他们需要的东西,他们将不得不使用 .mock
属性。
在笑话文档 (https://jestjs.io/docs/mock-functions) 中,这在自定义匹配器标题下有明确说明:
<块引用>最后,为了减少断言模拟函数是如何被调用的要求,我们为您添加了一些自定义匹配器函数:
*** 匹配器函数示例 ***
这些匹配器是检查 .mock
属性的常见形式的糖。如果这更符合您的口味或者您需要做一些更具体的事情,您始终可以自己手动执行此操作。