Ошибка при тестировании выполнения связанных свойств в javascrip - jest - PullRequest
0 голосов
/ 22 апреля 2020

у меня есть функция "вход в систему" , которая заканчивается этим выполнением:

res.status(202).json({ token, userId: user._id.toString() });

В тесте я насмехаюсь над объектом, подобным этому:

const res = {
  status: jest.fn(),
  json: jest.fn(),
};

, но я получаю TypeError: Невозможно прочитать свойство 'json' из неопределенного .

Когда я удаляю выполнение status () в функции "login" и оставляю только json (), ошибка не выдается.

Я использую Jest для тестирования. Что я делаю не так?

1 Ответ

0 голосов
/ 22 апреля 2020

Я нашел решение, надеюсь, оно кому-нибудь поможет. В тесте res объект должен выглядеть следующим образом:

const res = {
  status: jest.fn(arg => res),
  json: jest.fn(arg => {}),
};

Свойство status должно возвращать объект, который содержит json метод (в данном случае res object).

...