我正在构建一个聊天应用程序,并且想使用react-testing-library
编写集成测试,但不知道如何模拟socket.io-client
的{{1}},socket.on
等
我尝试遵循此article,并尝试使用mock-socket.io和socket.io-mock都没有运气。
这是我要测试的组件:
socket.emit
答案 0 :(得分:1)
这是一个较晚的答案,但可能对其他人有用:
模拟onPostExecute
库,我使用了笑话模拟函数,并使用了第三方库socket.io-client
https://www.npmjs.com/package/socket.io-mock
您需要按如下所示修改连接功能,以便使用模拟套接字:
socket.io-mock
实施:
const url= process.env.NODE_ENV==='test'?'':`http://localhost:${port}`;
const socket = io(url);