Тестирование реагирует на редирект - PullRequest
0 голосов
/ 17 мая 2018

У меня есть компонент реагирования, который может привести к одному из двух перенаправлений, например:

render () {
  if(condition) {
    return <Redirect to={'page1'} />
  } else {
    return <Redirect to={'page2'} />
  }
}

В ферментном тесте я узнал, как проверить, что перенаправление выполняется:

expect(page.find('Redirect').length).toEqual(1)

Однако я не уверен, как настроить тест так, чтобы я мог проверить, какое из перенаправлений отображается. В соответствии с документом Enzyme find , невозможно найти, чтобы найти тег вместе с атрибутом, что заставляет меня думать, что я поступаю неправильно.

1 Ответ

0 голосов
/ 17 мая 2018

Вы должны быть в состоянии сделать следующее:

expect(page.containsMatchingElement(<Redirect to="page1" />)).toEqual(true)

Что позволит вам утверждать, что правильное перенаправление выполняется при правильных обстоятельствах

В качестве альтернативы, если к компоненту добавляется больше реквизита при его монтировании, вы всегда можете сделать что-то вроде:

page.find('Redirect').debug()

И сопоставить атрибут вручную с RegExp.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...