React Jest, как проверить, содержит ли span некоторый определенный текст из снимка монтирования? - PullRequest
0 голосов
/ 22 апреля 2020

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

<div id='divHeader'>
    <h2
      className=""
      style={Object {}}
    >
      <span
        className=""
        style={Object {}}
      >
        This is an English text
      </span>
    </h2>
</div>

Так что я могу проверить, что текст внутри моего промежутка из снимка будет содержать мир English, что-то вроде

widget = mount(<MyComponent {...defaultProp} />);
// widget.find('span').text.contains('English')   
// widget.find('[id="divHeader"]').h2.span.text.contains('English')

У меня возникли некоторые проблемы в find здесь, где я знаю, что он может найти элемент по id, но к сожалению, я не могу назначить какой-либо идентификатор моему диапазону, и даже если я могу найти свой div по id, я не могу выбрать его дочерний элемент, например, div-> h2-> span ...

1 Ответ

1 голос
/ 23 апреля 2020

find возвращает ReactWrapper как монтирование, так что вы можете связать вызовы find.

Например, что-то вроде этого.

widget.find('[id="divHeader"]).find('h2').find('span').text().contains('English')
...