Может быть, я такой тупой, но я не могу понять, что именно jest.fn() делает и как он используется. Я новичок в тестировании, и в основном у меня есть большая часть функциональности jest, но jest.fn() заставляет меня дрожать.
Я пытался обращаться к документам, смотреть руководства, но все, что я знаю на данный момент, это то, что jest.fn() может шпионить за функцией или методом.
Зачем нам это нужно, если мы можем проверить возвращаемое значение с помощью .toBe или .toEqual, проверить его существование с помощью .toBeDefined() и его параметры с помощью .toBeCalledWith()?
Я борюсь с этим около недели. Я определенно что-то упускаю, но мне не у кого спросить.
jest.fn
, чтобы увидеть, выполняется ли обратный вызов, переданный функции (и с каким параметром он был вызван). Шпионаж, т.е. с.toBeCalledWith()
также доступен только для фиктивных функций. Этот SO-вопрос также обсуждает ваш вопрос. - person FK82   schedule 28.07.2018