В настоящее время у меня есть этот код для модульного тестирования
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)