单击按钮后如何检查两个组件之间的状态变化?

时间:2019-03-23 17:44:48

标签: reactjs unit-testing testing mocking jestjs

我有2个组件用于此任务,第一个是包装器组件,第二个是按钮组件。

我单击按钮组件中的一个按钮,它会更改包装器组件中的状态。

现在我如何才能在Jest(Enzyme)环境中实现整个动作?

it('should update state', () => {
      const onButtonClickMock = jest.fn();
      const wrapper = shallow(<MyComponent/>)
      const buttons = shallow(<Colors onClick={onButtonClickMock} colors={['gray', 'black', 'white']}/>);


      const d = buttons.find('div#buttons');
      const b = d.find('button.btn');
      b.at(1).simulate('click');//Pick second button from bunch and click

      wrapper.update();

      expect(onButtonClickMock).toHaveBeenCalledTimes(1);//This works
      expect(component2.state(['selection'])).toBe(1);

})

0 个答案:

没有答案