Reactjs 反应本机+;Jest-尝试测试异步UDP方法
嘿,伙计们,我有这个方法,它使用dgram或者更具体地说,使用本机udp库来处理udp协议Reactjs 反应本机+;Jest-尝试测试异步UDP方法,reactjs,react-native,jestjs,node-modules,Reactjs,React Native,Jestjs,Node Modules,嘿,伙计们,我有这个方法,它使用dgram或者更具体地说,使用本机udp库来处理udp协议 import * as dgram from 'react-native-udp' //dgram only works for react web export const onMessage = (handleDiscovery: any): any => { const socket = dgram.createSocket('udp4') socket.bind(3001)
import * as dgram from 'react-native-udp' //dgram only works for react web
export const onMessage = (handleDiscovery: any): any => {
const socket = dgram.createSocket('udp4')
socket.bind(3001)
socket.on('message', function (msg, rinfo) {
handleDiscovery(msg, rinfo)
})
}
当我试着用玩笑来测试它时:
it('ASYNC', () => {
udp.onMessage((msg, rinfo) => {
console.log(msg, rinfo)
expect(1).toBe(1)
})
})
我得到这个错误:
Reducers must work correctly › ASYNC
TypeError: Cannot read property 'createSocket' of undefined
奇怪的是,该代码在android设备上正常工作,但在测试套件上却无法正常工作。我必须重新导入它进行测试吗?它是作为
require('dgram')导入的。
@vasekhlav是的,但是对于react-native,我们必须使用'react-native-udp',你看了他们的吗?你能展示一下测试中的所有代码吗它是作为require('dgram'导入的)
@vasekhlav是的,但是对于react-native,我们必须使用'react-native-udp'。您是否查看了他们的?您能显示您的测试中的所有代码吗