WebSocket 测试与 Cucumber 验收测试实践
1. WebSocket 测试
在进行 WebSocket 测试时,我们可能会遇到测试不通过的情况。这往往是因为在使用间谍对象替换 WebSocket 时,覆盖了一些常量值,所以需要将这些常量值重新添加回去。
首先,保存真实的常量值,将以下代码添加到文件顶部,位于导入语句下方:
const WEB_SOCKET_OPEN = WebSocket.OPEN;
const WEB_SOCKET_CLOSED = WebSocket.CLOSED;
接着,更新间谍对象,在替换 WebSocket 后设置这些常量。同时,将套接字的默认 readyState 设置为 WebSocket.OPEN ,以确保其他测试不会失败:
socketSpyFactory = jest.spyOn(window, 'WebSocket');
Object.defineProperty(socketSpyFactory, 'OPEN', {
value: WEB_SOCKET_OPEN
});
Object.defineProperty(socketSpyFactory, 'CLOSED', {
value: WEB_SOCKET_CLOSED
});
socketSpyFactory.mockImplementation(() => {
socketSpy = {
s
超级会员免费看
订阅专栏 解锁全文
86

被折叠的 条评论
为什么被折叠?



