ユーザー A のブラウザーで実行されたアクションがユーザー B のブラウザーに副作用をもたらす共同 Web アプリがあります。チャット ルームはアプリの一部であり、私たちがテストしようとしているものの良い例です。
現在のスタックは次のとおりです。
- フロントエンドのAngularJS
- 静的ファイルを提供するために Node 上で実行される Express
- クライアントブラウザ間のWebソケット通信を処理するためにノード上で実行されるSocket.IO
- ビルド プロセスのブランチ
- Angular Seed はテストの出発点です
- 実際のテスト フレームワークのジャスミン
- Testacular がテストを実行します
これをテストするための最良の方法は何ですか? そして、「最高」とは「あらゆる」を意味します。完全統合テストには、2 つのブラウザーと 2 つの Web サーバー (HTML および Web ソケット) が必要です。どちらの Web サーバーも Node 上で実行されているため、少なくとも Testacular の残りの部分と同じ環境にあります。
私の考えでは、それは必要になるでしょう
- ソケットサーバーのインスタンスを開始する
- Jasmine で Web ブラウザーを起動し、そのブラウザー A への参照を保持する
- 別のブラウザー、ブラウザー B を起動し、その参照を保持します。
- ブラウザ A にコマンドを発行し、結果の変更をブラウザ B でテストします。
この種のテストのドキュメントや例 (Jasmine を使用した Testacular が望ましいですが、オプションは自由です) に出くわした人はいますか? どの検索用語を使用するかについてのアドバイスも役立ちます。