Файл, который я тестирую, импортирует функцию из другого файла. Чтобы не запускать эту внешнюю функцию, я смоделировал импорт:
jest.mock("./anotherFile", () => ({
outsideFunc: jest.fn()
}));
Однако теперь мне нужно написать модульный тест для функции, чтобы проверить, вызывается ли outsideFunc
. Не заботиться о возврате, просто он вообще был вызван.
Тестируемая система
function myFunc() {
outsideFunc();
}
Тест
describe("Testing myFunc", () => {
it("Should call outsideFunc", () => {
myFunc();
expect(outsideFunc).toHaveBeenCalled();
});
});
Когда я запускаю тест, я получаю:
ReferenceError: outsideFunc не определен
Я понимаю, почему я получаю эту ошибку,обычно у меня было бы что-то вроде
const outsideFuncMock = jest.fn()
Но в этом случае я уже высмеивал функцию, когда выполнял импорт, чтобы остановить ее вызов, поэтому я немного растерялся.
Мой тестовый набор
jest.mock("./anotherFile", () => ({
outsideFunc: jest.fn()
}));
describe("Testing myFunc", () => {
it("Should call outsideFunc", () => {
myFunc();
expect(outsideFunc).toHaveBeenCalled();
});
});