Kev*_*n.a 2 unit-testing jestjs
我正在学习 Jest,我看到正在使用这个clearAllMocks 函数,然后我检查文档,描述如下:
清除所有模拟的mock.calls和mock.instances属性。相当于在每个模拟函数上调用 .mockClear() 。
返回用于链接的笑话对象。
它基本上说明了您通过阅读函数名称已经可以弄清楚的内容。我仍然不知道什么时候应该使用它以及为什么它有用。您能举一个什么时候适合使用的例子吗?
小智 5
jest.clearAllMocks()经常在测试设置/拆除期间使用。
afterEach(() => {
jest.clearAllMocks()
});
Run Code Online (Sandbox Code Playgroud)
这样做可以确保在测试之间不会存储可能导致错误断言的信息。假设您有一个模拟函数mockFn并且您调用该函数,您可以断言它已被调用1次。如果在另一次测试中您再次调用mockFn但尚未清除模拟,那么现在它会被调用两次而不是一次。