私はある種の宝くじ機能を備えたRailsアプリを構築しています.n個のチケットは、しばらくして勝者として選ばれます。このサイトには JavaScript のカウントダウンがあり、カウントダウンがゼロになるとイベントが発生します。このイベントは、ユーザーが勝者であるかどうかをブラウザがサーバーに確認するようにトリガーします。次のような Cucumber 機能があります。
Feature: Notify Winners
So that I can tell if I've won
As an authenticated user
I want to be notified if I've won when the countdown completes
Scenario: I have a winning ticket
Given I'm logged in
And I have a winning ticket for today
When I'm on the home page
And the countdown completes
Then I should see "congratulations"
現時点では、この機能が合理的な方法で作成されているとは思えません。私が知る限り、Cucumber 内では、カウントダウンが実際にいつ完了するかを確認する方法はありません (たとえば、JS イベントをリッスンすることによって)。
そのままにしておくと、「カウントダウンが完了したとき」のステップ定義は、定義方法がわからないものです。この機能をより適切にテストする方法についての指針はありますか?