尽管链接存在,RSpec应该has_link失败

时间:2012-07-11 02:37:45

标签: ruby-on-rails rspec

我有一个RSpec测试,一直在失败。

subject { page }
visit user_path(user)
it { should have_link('Settings', href: edit_user_path(user)) }

但是当我自己加载页面时,我可以看到链接运行良好。有任何想法吗 ?也没有拼写错误。

可以在测试中看到RSpec加载的页面吗?

1 个答案:

答案 0 :(得分:17)

您的visit user_path(user)未在正确的背景下执行。

尝试:

subject { page }
it do
  visit user_path(user) 
  should have_link('Settings', href: edit_user_path(user))
end

或者:

subject { page }
before { visit user_path(user) }
it { should have_link('Settings', href: edit_user_path(user)) }

如果您想查看html,可以使用save_and_open_page声明。