下面的测试用例是否显示了玩笑问题?还是我做错了什么?
afterEach(() => {
// Works only when running failed tests (not great for DX)
jest.clearAllMocks()
// Works as expected
// jest.restoreAllMocks()
})
const noop = () => {}
const test = () => {
document.addEventListener('click', noop)
jest.spyOn(document, 'addEventListener')
document.addEventListener('click', noop)
expect(document.addEventListener).toHaveBeenCalledTimes(1)
}
it('test 1', test) // Success
it('test 2', test) // Fail
jest.spyOn(object,methodName)
创建类似于jest.fn的模拟函数,但也跟踪对object [methodName]的调用。返回一个Jest模拟函数。
jest.clearAllMocks()
清除所有模拟的ock.mock.calls和mock.instances属性。等效于在每个模拟函数上调用.mockClear()。
mockFn.mockClear()
重置存储在嘲笑数组(mockFn.mock.calls)和嘲笑数组(mockFn.mock.instances)中的所有信息。