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

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

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

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

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

您的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语句。