我使用Jest
和Enzyme
进行单元测试。
在我的test.js文件中,我有
let wrapper = mount(<app />
我的测试点击了包装器中的按钮
wrapper.find('button').simulate('click')
并且组件呈现一个在包装器外部的模态。
我需要获得对模态的引用,以便我可以模拟其中的按钮单击。我可以通过document.body.children
获得对模态的引用,但我无法对其进行任何操作。
如何使用酶来测试渲染包装器之外的元素?
答案 0 :(得分:0)
您可以在React App中使用一个已定义的状态测试ButtonOnclik
在您的组件中
state={
data: 'first State',
};
render(){
return (<div>
<button onClick={(e) => this.setState({data: 'second State'})}>Test</button>
</div>
}
在测试中,您可以使用Enzyme或仅使用Jest
const wrapper = shallow(<Name Your Component/>);
it('test button', () => {
expect(wrapper.state().data).toBe('first State');
wrapper.find('button').simulate('click');
expect(wrapper.state().data).toBe('second State')
});
希望它对你有所帮助:)。