jest - фиктивная функция возвращает не функцию - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь смоделировать функцию, используя jest, но я получил ошибку в коде, где mock называется TypeError: got is not a function.

В моей реализации у меня есть что-то вроде:

const got = require('got')
got('...', {})

И я написал фиктивную функцию как:

jest.mock('got', (url, options) => {
  console.log('on my way', url)
  return 1
})

Сообщение on my way напечатано, но я упомянул об ошибке.Я почти уверен, что проблема в том, как я написал макет.

Любая помощь в том, как издеваться got()?

Заранее спасибо.

1 Ответ

0 голосов
/ 13 октября 2018

Второй аргумент jest.mock должен быть фабричной функцией модуля, которая возвращает макет.

Вам просто нужно обернуть свой макет в фабричную функцию, которая его возвращает:

jest.mock('got', () => {
  return (url, options) => {
    console.log('on my way', url)
    return 1
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...