Как вернуть другой объект из jest.spyOn на основе параметров вызова функции? - PullRequest
0 голосов
/ 27 ноября 2018

В настоящее время у меня есть этот код для модульного тестирования

mockWindow = {
  document: {
    createElement: jest.fn().mockReturnValue(div),
    head: {
      appendChild: jest.fn(),
    },
    body: {
      appendChild: jest.fn(),

    },
    removeEventListener: jest.fn(),
  },
  addEventListener: jest.fn(),
  removeEventListener: jest.fn(),
};
jest.spyOn(window, 'open').mockReturnValue(mockWindow);

Теперь я добавляю еще один вызов к window.open к моей базе кода с другим параметром:

 window.open('', 'new_target', 'width=1000,height=500')

Я хочучтобы иметь возможность возвращать другое значение при вызове второго window.open.Могу ли я в любом случае попросить spyOn вернуть разные значения в зависимости от параметров?

Я пытался jest.spyOn(window, 'open', '', 'new_target'), но я получаю эту ошибку Error:(47, 5) TS2554: Expected 2-3 arguments, but got 4..Третий параметр должен указывать тип доступа (т. Е. Get vs set)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...