Почему jest's clearAllMocks не работает и как очистить шутки от шутников? - PullRequest
0 голосов
/ 29 апреля 2020

Я использую jest 4.2.4 с моим приложением React 16.13.0. Я настроил этот тип макета ...

  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 голосов
/ 29 апреля 2020

Это должно сделать работу:

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