Как я могу использовать Jest для тестирования функции внутри компонента без состояния? - PullRequest
0 голосов
/ 02 июля 2019

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

function App(props) {
  const handleItemClick = () => {
    if (true) {
      props.doanything();
    }
  }

  return (
    <div onClick={handleItemClick}>
      App
    </div>
  );
}

1 Ответ

1 голос
/ 02 июля 2019

Вы не должны тестировать внутренние (приватные) элементы, считается плохой практикой тестировать внутреннюю реализацию, а не имитировать взаимодействие пользователя с вашим компонентом. В вашем случае имитируйте нажмите на div.

Если вы используете Фермент , вы можете получить div через wrapper.find, а затем div.simulate('click').

У меня есть общее предложение, которое я часто использую: «Если вам сложно проверить, вы, вероятно, пытаетесь проверить что-то не так».

...