在Rails 5.2.2应用程序的RSpec功能规范(集成测试)中,我想将视图呈现为字符串,该字符串需要进一步处理为PDF文件(使用wkhtmltopdf和{ {3}}宝石)。
我正在努力将Rails视图呈现为字符串。
我已经尝试过了:
something = create :something # A FactoryBot factory
controller = SomeThingsController.new
view = controller.render_to_string '/some_things/show.pdf.haml',
locals: { :@something => something }
这种方法有效,但是在我的视图尝试使用未定义为root_url
的{{1}}时失败,因为没有有效的HTTP请求。
有许多模糊的相关问题,但是(据我所知)它们全都涉及古老的Rails版本,或者与功能测试无关。
答案 0 :(得分:0)
我自己找到了解决方案...如果其他人有同样的问题,我会在这里发布。
在使用RSpec和Capybara进行的功能测试中,页面内容可以通过page.html
访问,在我的情况下,页面内容包含有效的PDF。
something = create :something # A FactoryBot factory
visit something_path(something)
pdf = page.html