私はSocketRocketライブラリを使用してWebsocketへの接続を処理しています。それはうまく接続しますが、私は最初にWS接続を待たなければならない単位テストを実行しようとしています。 WSが接続されていることを知る唯一の方法はデリゲートメソッドであるため、このプロセスを同期させるのに問題があります。私は単体テストのsetup
メソッドでWS接続を作成してからtearDown
メソッドを閉じるだけです。Websocketが接続するまで実行を一時停止します
Websocketクラスに2種類の接続方法を実装しました。最初の2つはかなり基本的なもので、期待通りに動作することを確認しました。最後のテストは、主にテスト目的でブロックする試みです。私はそれを働かせることができませんでした、そして、それはちょうど永遠に待って終わるので、私はそれが私の部分で概念的な誤解だと信じています。
私の大きな疑問は、デリゲートへの戻り呼び出しを待つテストケースで実行を停止する方法です。テストケースで発生する問題は、完成ブロックですべてのテストを行うだけではできないということです。テストメソッドはこれを成功とみなしてプログラムを終了させます。
はい!これは完全に機能し、私は何か新しいことを学びました。ありがとう! – joslinm