ruby-on-rails - 如何将 Rails 视图呈现为功能规范中的字符串
问题描述
在 Rails 5.2.2 应用程序的 RSpec 功能规范(集成测试)中,我想将视图呈现为需要进一步处理为 PDF 文件的字符串(使用wkhtmltopdf和wicked_pdf gem)。
我正在努力将 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
未定义的情况下失败,因为没有有效的 HTTP 请求。
有许多模糊相关的问题,但它们(据我所知)要么是指古老的 Rails 版本,要么与功能测试无关。
解决方案
自己找到了解决方案......如果其他人有同样的问题,我会在这里发布。
在 RSpec 和 Capybara 的功能测试中,页面内容可以作为 访问page.html
,在我的例子中包含有效的 PDF。
something = create :something # A FactoryBot factory
visit something_path(something)
pdf = page.html
推荐阅读
- sql-server - 从 SQL 中的 firstName 列中删除中间名字母
- javascript - 边缘没有在画布上正确设置高度
- groovy - 如何使用 groovy 脚本引擎替换三元运算中的变量
- java - 通配符类作为构造函数中的变量
- javascript - 两者都具有默认文件输入的 Dropzone
- ruby-on-rails - 下载 DataTables 的最简单方法是什么?
- c++11 - 没有 #define 的有效 C 预处理器宏
- security - 如何针对 OWASP Benchmark 正确运行 ZAP?
- swift - rx-swift 重新加载表格后在 UITableView 中保持选择
- node.js - Heroku 配置变量在 process.env 上不可用