使用酶模拟自定义事件?

Fra*_*ank 5 javascript testing reactjs enzyme

在自定义事件上可以使用酶的.simulate()方法。例如:

// Code
<Element onFoo={someFunction}></Elements>

// Test
const element = shallow(<Element>);
element.simulate('foo');
Run Code Online (Sandbox Code Playgroud)

这是应该使用酶测试自定义事件的方式,还是使用s.th的更好方法?喜欢:

//Test
const element = shallow(<Element>);
element.props.onFoo()
Run Code Online (Sandbox Code Playgroud)

Ale*_*rev 6

似乎.simulate()没有实现自定义事件。github 上有一个问题,讨论了这个主题,其中一位Enzyme维护者建议使用您提供的第二种方法:

wrapper.find(Child).prop('customEvent')(fakeEvent)
Run Code Online (Sandbox Code Playgroud)