0

ネイティブを使用するコードをテストできませんWebSocket。これはテスト関数の本体です。

val webSocket = WebSocket("ws://localhost:8888")
window.setTimeout({
    assertEquals(WebSocket.OPEN, webSocket.readyState)
}, 1000)

Mocha テスト ランナーで Karma を使用しています。次のコードはエラーなしで実行されますが、setTimeout実際には無視され、実行されることはありません。

Mocha は、 をsetTimeout使用した ベースのテストをサポートしているよう--delayです。ただし、Karma 構成でフラグを使用するとclient: { mocha: { delay: true } }、テストがフリーズして失敗し、次の原因メッセージが出力されます。

60000 ミリ秒以内にメッセージがないため、切断されました。

でテストを実行する正しい方法は何setTimeoutですか? これが難しい場合、WebSocket完全に接続した後にアサーションを実行できる他の方法はありますか? 私はまだ Mocha 固有の機能を使用していないので、フレームワークを変更してもかまいません。

4

2 に答える 2