Jest并未清除文件方法的模拟物

时间:2019-11-29 10:41:19

标签: jestjs jsdom

下面的测试用例是否显示了玩笑问题?还是我做错了什么?


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)中的所有信息。

0 个答案:

没有答案