我有以下测试:
const mockedObject = {
mockedMethod: jest.fn((someKey, someValue) => {
return {someKey: 'someValue'}
})
};
jest.doMock('../myObject', () => {
return mockedObject;
});
testedObject.testedMethod();
expect(mockedObject.mockedMethod).toHaveBeenCalled();
在这里,在 testedObject
中,我导入 myObject
。我想模拟该导入并传递 mockedObject
。
查看this question后和 this question ,我认为上面的代码应该很好,但是即使 testedObject
正在进行调用,mockedObject.mockedMethod
也永远不会被调用。
那么这个测试中的模拟有什么问题吗?
最佳答案
你打电话
testedObject.testedMethod()
但是期待
mockedObject.mockedMethod)
试试这个代码:
const mockedObject = {
testedMethod: jest.fn((someKey, someValue) => {
return {someKey: 'someValue'}
})
};
jest.doMock('../myObject', () => {
return mockedObject;
});
testedObject.testedMethod();
expect(mockedObject.testedMethod).toHaveBeenCalled();
关于javascript - 在 Jest 中模拟导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48369003/