Reactjs Jest测试打开反应选择菜单

Reactjs Jest测试打开反应选择菜单,reactjs,jestjs,react-select,Reactjs,Jestjs,React Select,我有一个使用react select的组件。我想测试传递给它的道具是否正确,这些道具是否正确显示。是否仍有强制菜单在enzyme/jest中打开的方法?您可以强制更改内部StateManager组件的状态 const tree = mount(<MyComponent />); tree.find('Select').find('StateManager').instance().setState({ menuIsOpen: true }); tree.update(); cons

我有一个使用react select的组件。我想测试传递给它的道具是否正确,这些道具是否正确显示。是否仍有强制菜单在enzyme/jest中打开的方法?

您可以强制更改内部
StateManager
组件的状态

const tree = mount(<MyComponent />);
tree.find('Select').find('StateManager').instance().setState({ menuIsOpen: true });
tree.update();
const tree=mount();
tree.find('Select').find('StateManager').instance().setState({menuIsOpen:true});
tree.update();
或者,更好的方法是在不打开选择菜单的情况下检查组件的道具。这使您能够在测试中更好地提取反应和选择

const tree = mount(<MyComponent />);
// Run tests against options prop of Select
// expect(tree.find('Select').props('options')).toHaveLength(10);
const tree=mount();
//对Select prop的选项运行测试
//expect(tree.find('Select').props('options')).toHaveLength(10);