我正在构建一个具有某种彩票功能的 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 事件)。
保持原样,“当倒计时完成时”步骤定义是我不确定如何定义的。关于如何更好地测试此功能的任何指示?