1

Ryan Bates の private_pub gem ( https://github.com/ryanb/private_pub ) と Resqueを使用するプロセスの受け入れテストを作成するためのちょっとしたガイダンスを探しています。

私のコントローラーには、Resque でファイル生成プロセスをキューに入れ、「待機中」のモーダル ウィンドウを表示する AJAX 要求を行う実行アクションがあります。モーダル ウィンドウには、private_pub チャネルにサブスクライブし、そのチャネルでメッセージを待機するための JavaScript が含まれています。Resque ワーカーでのファイル生成プロセスが完了すると、新しく生成されたファイル名を含むメッセージが private_pub にプッシュされます。モーダルの JavaScript はメッセージを受け取り、ファイル名を使用してブラウザでファイルのダウンロードを開始します。

このプロセスでテストを実行するためのテクニックに関する提案を探しています。私はprivate_pubサーバーをモックすることを検討しました(多くのグーグルの後でもこれを達成する方法がわからない)ので、事前にステージングされたファイルを返すだけです。基本的に、テスト環境で private_pub サーバーと Resque インフラストラクチャ全体を実行する必要なく、ワークフローを実行する方法が必要だと思います。

4

1 に答える 1

0

Resque ワーカーへの呼び出しをスタブ化して、期待どおりの結果を返すことをお勧めします。次に、別のテストで Resque ワーカー コードをテストします。

モーダル ウィンドウの機能をテストすることが目的の場合は、Resque ワーカーを呼び出すだけのテストを作成し、Capybara を使用してモーダルが表示されるかどうかを判断できます。この例では、Resque 呼び出しをスタブする必要はありません。モーダル ウィンドウが表示されたら、単純にテストを終了します。

于 2013-11-08T17:17:51.557 に答える