Ожидайте this.children.props () - PullRequest
0 голосов
/ 24 марта 2019

я тестирую ErrorBoundry, у меня есть этот код

import React, { Component } from 'react'

 class ErrorBoundary extends Component {
  constructor (props) {
   super(props)
   this.state = { hasError: false }
  } 

 componentDidCatch (error, info) {
  this.setState({ hasError: true })
 }

 render () {
  if (this.state.hasError) {
   return <h1>Something went wrong.</h1>
  }
  return this.props.children
 }
}

export default ErrorBoundary

и я хочу тестировать, теперь я тестирую, когда есть ошибка, и все нормально, но как я могу записать тестовый файл, я ожидаю вернуть this.props.children () или смоделировать что-то подобное?

я использую фермент

Ответы [ 2 ]

1 голос
/ 24 марта 2019

Вы пробовали это?.simulateError(error) => Self https://airbnb.io/enzyme/docs/api/ShallowWrapper/simulateError.html

0 голосов
/ 24 марта 2019

Чтобы проверить случай без ошибок, просто проверьте, что ErrorBoundary отображает его потомков:

test('no error', () => {
  const wrapper = shallow(<ErrorBoundary><div>no error</div></ErrorBoundary>);
  expect(wrapper.html()).toBe('<div>no error</div>');  // Success!
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...