我尝试使用jest
从react-native
模拟DeviceEventEmitter
。实际代码分别在组件挂载和卸载时添加和删除侦听器。我尝试了很多解决方案,但都不起作用。
这是我试图嘲笑的几种方式。
// type 1
jest.mock('react-native/Libraries/EventEmitter/RCTDeviceEventEmitter', () => {
return {
addListener: mockAddListener,
remove: mockRemove
}
});
// type 2
jest.mock('react-native/Libraries/EventEmitter/RCTDeviceEventEmitter', () => {
const DeviceEventEmitter = jest.requireActual('react-native/Libraries/EventEmitter/RCTDeviceEventEmitter');
return DeviceEventEmitter;
});
字符串
有什么建议吗?
1条答案
按热度按时间mnemlml81#
经过大量的实验,试图模拟这一点,最后下面的模拟工作。
字符串
所以基本上
DeviceEventEmitter
扩展了EventEmitter
。所以模拟EventEmitter
并实现所需的方法是有效的。