如何在RSpec/Capybara视图规范中查看呈现的页面?
我知道在使用Capybara的普通功能规范中,我可以做如下操作:如何在RSpec/Capybara视图规范中查看呈现的页面?,rspec,capybara,rspec-rails,Rspec,Capybara,Rspec Rails,我知道在使用Capybara的普通功能规范中,我可以做如下操作: require "rails_helper" describe "users/show", type: :feature do it 'renders a page' do visit user_path save_and_open_page end end require "rails_helper" describe "users/show", type: :view do it 'rende
require "rails_helper"
describe "users/show", type: :feature do
it 'renders a page' do
visit user_path
save_and_open_page
end
end
require "rails_helper"
describe "users/show", type: :view do
it 'renders a page' do
render
save_and_open_page
end
end
是否有一种在视图规范中查看呈现页面的等效方法,而不将其标记为功能?例如:
require "rails_helper"
describe "users/show", type: :feature do
it 'renders a page' do
visit user_path
save_and_open_page
end
end
require "rails_helper"
describe "users/show", type: :view do
it 'renders a page' do
render
save_and_open_page
end
end
按原样,我得到一个NameError:undefined局部变量或方法“save_and_open_page”
,当我尝试此操作时引发
(我知道我可以只查看呈现的字符串,有人在Features specs上的类似线程中建议我这样做——如果需要,我可以编写自己的方法来完成。但它似乎有一些现有的功能?不,在浏览器中打开“页面”的视图测试中没有现有的功能。默认情况下,视图规范中只包括水豚匹配器,而不包括其会话方法。这是因为视图规范没有“浏览器”,只是将视图模板作为字符串呈现和返回(没有加载CSS/JS、没有cookie、没有实际会话、没有交互等)。正如您所指出的,如果您确实需要该功能,将
呈现的字符串保存到文件中并加载到浏览器中是非常容易的