1

我有一个页面,用户可以打开一段时间。并且 javascript 正在使用 setInterval 进行更新。我怎么能测试它?

Scenario: Auto update dashboard
  When I am on the dashboard page
    Then I should see nothing on the page

  When someone added item
    Then I should see a new item on the page in few seconds

我可以将睡眠设置为“某人添加的项目”,但这是一种好方法吗?无论如何,由于某些原因,“睡眠”对我不起作用。

提前致谢。

4

1 回答 1

0

Capybara 的 has_content 会自动等待(你可以决定多少)一些内容出现,所以你可以有这样的东西(rspec 语法):

page.should have_content 'Update 1'
page.should have_content 'Update 2'
page.should have_content 'Update 3'

当然,测试两者之间的状态可能会有所帮助,但这可能已经足够好了。

编辑:我假设间隔非常小,最多只有几秒钟,否则你的测试会运行得很慢。

于 2012-08-27T14:48:47.893 回答