【发布时间】:2019-08-15 10:09:01
【问题描述】:
在 jest.fn() 模拟的回调中使用 jest.fn() 定义 Jest 模拟似乎不起作用。如果模拟首先在回调之外定义,则它可以正常工作。
是否支持在回调中定义mock?
it('passes', () => {
const mock = jest.fn();
const object = {method1: jest.fn(() => ({method2: mock}))};
object.method1().method2();
expect(object.method1().method2).toHaveBeenCalledTimes(1);
});
it('does not pass', () => {
const object = {method1: jest.fn(() => ({method2: jest.fn()}))};
object.method1().method2();
expect(object.method1().method2).toHaveBeenCalledTimes(1);
});
【问题讨论】:
标签: javascript unit-testing mocking jestjs