我的代码是这样的:
b.mockImplementation(() => {
return {
create: () => '',
}
}
在我的玩笑文件中,我像这样模拟函数b():
await A();
expect(b).toHaveBeenCalled();
现在,我想检查是否调用了myObj.create()。我怎么做? 像这样:
[, ]+
答案 0 :(得分:1)
您必须返回模拟对象,而不是返回匿名对象。使用模拟对象,您可以控制功能create
是否必须调用。
// Mocked object with `create` property is a mock function
const mockedMyObj = {
create: jest.fn(),
};
// b is a async function, we just mock the return value.
b.mockResolvedValue(Promise.resolve(mockedMyObj));
// expect
await A();
expect(b).toHaveBeenCalled();
// now you can verify the `create` function
expect(mockedMyObj.create).toHaveBeenCalled();