为什么玩笑的clearAllMocks无法正常工作,如何清除玩笑间谍的模拟游戏?

时间:2020-04-29 16:44:19

标签: reactjs mocking jestjs spy

我在我的React 16.13.0应用程序中使用了jest 4.2.4。我已经设置了这种类型的模拟...

  jest.spyOn(ReduxFirebase, "getFirebase").mockReturnValue({
    firestore: jest.fn(() => ({ collection: jest.fn(() => collection) })),
  });

如何在两次测试之间清除此问题?我试过了...

describe("User", () => {
  afterEach(() => {
    jest.clearAllMocks();
  });

,但是它不起作用。稍后在测试套件中进行设置

  jest.spyOn(ReduxFirebase, "getFirebase").mockReturnValue({
    firestore: jest.fn(() => ({ collection: jest.fn(() => collection2) })),
  });

不接受(原始间谍仍然存在。

1 个答案:

答案 0 :(得分:0)

这应该可以完成工作:

const getFirebaseMock = jest.spyOn(ReduxFirebase, "getFirebase").mockReturnValue({
  firestore: jest.fn(() => ({ collection: jest.fn(() => collection) })),
});
getFirebaseMock.mockRestore();