Тестирование this.setState с использованием Jest / энзима для реакции JS - VSC - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь запустить тест, но я не уверен, как вызвать установленное состояние с правильными свойствами.Я уже установил реквизит, beforeEach, но не уверен, что это правильный путь.Любая помощь или подсказка будут чрезвычайно полезны.Спасибо Это то, что у меня есть для тестирования на данный момент:

const baseProps = {
 defaultData:{
 url:{},
 method:{},
 name:{},
},
addMetaInformation,
}

// Описать и также, прежде чем каждый из них был объявлен

 it ('componentWillReceiveProps',() => {
  const url = baseProps
  wrapper.instance().setState({
     nextProps: {
     url: 'null',
     method :  'test',
     name : 'test name',
  },
})
 wrapper.instance().componentWillReceiveProps(url)
//expect(wrapper.setState()).toContain(url); // not sure about this one
expect(wrapper.instance().setState).toHaveProperty() // mistake
expect(wrapper).toMatchSnapshot();
});

Вот код, который я пытаюсь проверить:

      constructor(props) {
super(props)
this.state = {
  url: null
  }
}
    componentWillReceiveProps(nextProps) {
if (nextProps.url) {
  this.setState({
    url: nextProps.url
  })
}
if (nextProps.defaultData) {
  if (nextProps.defaultData !== this.props.defaultData) {
    this.setState({
      url: nextProps.defaultData.url,
      method: nextProps.defaultData.method,
      name: nextProps.defaultData.name
    })
   }
  }
}

  handleChange = (e) => {
let localState = Object.assign({}, this.state)
localState[e.target.name] = e.target.value
this.setState(localState)
this.props.addMetaInformation(localState)

}

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