4

这是我正在处理的一个测试用例:

    it "should allow you to login" do
    visit "/"
    fill_in 'Email', :with => 'user@example.org'
    fill_in 'Pass', :with => 'password'
    click_button 'Login'
    current_url.should =~ /dashboard/
end

这个特定的测试失败了。我想知道它是否因为无法登录而失败,但因为我检查 current_url 太快而失败。在 click_button 任务执行并且 rails 重定向用户之前“等待”的正确方法是什么?

4

1 回答 1

3

您是否尝试过手动访问您的主页,使用这些凭据登录,然后查看会发生什么?如果你能做到,那么你就可以排除它不起作用的想法。

我建议使用内置断言而不是匹配 URL 的名称。像这样:

assert_response(:redirect)
assert_redirected_to(dashboard_path)

无论哪种情况,您都不必等待按钮单击。

于 2012-05-22T18:16:54.213 回答