Как можно смоделировать состояние компонента для модульного тестирования? - PullRequest
0 голосов
/ 09 ноября 2018

Я использую энзим, шут, синон для юнит-тестирования. Я хотел бы смоделировать состояние компонентов и перейти в пользовательское состояние, прежде чем компонент будет отрендерен. Как мне этого добиться?

Мой компонент запускается с некоторым начальным состоянием:

constructor(props) {
   super(props);
   this.state = {
     sample: "hello"
   }
}

Я хочу перезаписать значение sample до того, как произойдет рендеринг, путем имитации ложного состояния и перед вызовом shallow ().

1 Ответ

0 голосов
/ 09 ноября 2018

Вызовите setState непосредственно на компоненте?

Не уверен на 100%, но, может быть ...

const myComponent = <MyComponent {...props} />
myComponent.setState({ ...mockState })

const myShallowRenderedComponent = shallow(myComponent)
const instance = myShallowRenderedComponent .instance()
expect(instance.state).toEqual(mockState)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...