开玩笑测试打开反应选择菜单

时间:2019-02-05 00:53:05

标签: reactjs jestjs react-select

我有一个使用react-select的组件。我想测试传递给它的正确道具,并正确显示它们。反正有强制菜单打开的方法吗?

1 个答案:

答案 0 :(得分:1)

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

const tree = mount(<MyComponent />);
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);