我无法测试使用本机的代码WebSocket
。这是测试函数的主体:
val webSocket = WebSocket("ws://localhost:8888")
window.setTimeout({
assertEquals(WebSocket.OPEN, webSocket.readyState)
}, 1000)
我将 Karma 与 Mocha 测试运行器一起使用。以下代码执行时没有任何错误,但setTimeout
实际上被忽略且从未执行。
Mocha 似乎支持setTimeout
基于--delay
. 但是,当我使用带有client: { mocha: { delay: true } }
Karma 配置的标志时,测试只是冻结并失败,输出以下原因消息:
已断开连接,因为 60000 毫秒内没有消息。
执行测试的正确方法是什么setTimeout
?如果这很棘手,有没有其他方法可以WebSocket
在它完全连接后执行断言?我还没有使用任何特定于 Mocha 的功能,所以我不介意更改框架。