Jest - Как использовать один раз, чтобы утверждать, что было вызвано несколько функций - PullRequest
0 голосов
/ 26 сентября 2019

Я уже некоторое время использую Jest, и я знаю, что могу использовать кратные expect для проверки каждой функции, например:

expect(myFunction).toBeCalled();

Следовательно,Я хотел бы знать, есть ли способ протестировать несколько функций, используя один метод e expect.Что-то вроде:

const logoutModalProps = {
  dismissAllModals: mockFunction,
  logoutUserDeleteState: mockFunction,
  toggleDrawer: mockFunction,
  resetToScene: mockFunction,
  popScene: mockFunction,
};

describe('when using handlers for logoutModal', () => {
  it('should call handleLogout methods', () => {
    handleLogout(logoutModalProps);
    expect(...logoutModalProps).toBeCalled();
  });
});

Примечание. В этом случае функция handleLogout вызывает все эти методы.

Есть ли способ сделать это?Если да, пожалуйста, дайте мне знать.Если нет, должен ли я использовать несколько ожиданий или есть лучшие способы сделать это?

Спасибо заранее

1 Ответ

2 голосов
/ 26 сентября 2019

Просто используйте несколько ожиданий.Если это сложно сделать по отдельности, вы можете сделать это с помощью цикла.

it('should call handleLogout methods', () => {
  handleLogout(logoutModalProps);
  Object.values(logoutModalProps).forEach(mockFn => {
   expect(mockFn).toBeCalled();
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...