4
我正在使用Jest和Enzyme进行测试。我在测试正常事件时没有问题,但我正在努力寻找正确的方法来触发和测试来自本机模块的组件中的事件。在我的Jest设置我有以下内容:测试自定义事件react-native
jest.mock('NativeEventEmitter',() => class MockNativeEventEmitter{
addListener =() => jest.fn()
removeListener =() => jest.fn()
removeAllListeners =() => jest.fn()
});
但是,我不确定在测试中我如何去实际调度一个事件。所以,例如我有一个Native模块用于用户摇动设备。在组件本身,这是设置像这样:
shakeEvents: ['shaken],
deviceShakeEmitter: {},
componentDidMount() {
this.deviceShakeEmitter = new NativeEventEmitter(Shake)
this.deviceShakeEmitter.addListener('shaken', this['shaken'])
},
我知道内在的事件,我可以使用jest.simulate(“按”)等,但对于自定义事件,我努力理解我是多么内处理这测试。