酶,如何访问传递道具的组件

时间:2018-05-24 09:27:10

标签: reactjs enzyme

我想在MyComponent中测试的是checked组件的Switch道具的价值,它是FormControlLabel组件的道具:

class MyComponent extends Component {

 (...)

 render() {
  return (
   <FormControlLabel
    name={`formControl`}
    control={
      <Switch
        name={`switch`}
        data
        checked={this.state.isChecked}
        onClick={this.handleChange}
        value={checked}
        />
    }
    />
  );
 }
}

我可以像这样访问FormControlLabel组件:

const wrapper = shallow(<MyComponent />);

wrapper.find('[name="formControl"]');

我试图像这样访问Switch组件,但它不起作用:

wrapper.find('[name="switch"]');

如何访问checked组件的Switch道具?

API
  • 酶:3.3.0
  • React:16.2.0
适配器
  • 酶 - 接合体反应的-16

2 个答案:

答案 0 :(得分:3)

好吧,我刚刚找到了解决方案:

expect(wrapper.find('[name="formControl"]').prop('control').props.checked).toEqual(true);

答案 1 :(得分:0)

read_csv