gpt4 book ai didi

ruby-on-rails-4 - 测试 Prawn 生成的pdf是否没有错误

转载 作者:行者123 更新时间:2023-12-01 16:23:54 25 4
gpt4 key购买 nike

使用rails minitest和capybara如何测试创建的pdf页面是否没有错误?我认为检查 status_code 是最简单的,但不确定 capybara 是否支持这一点。

scenario "opens pdf without errors" do
visit progress_report_path(format: 'pdf')
page.must_have_status_code(200)
end

我知道 capybara 没有“must_have_status_code”方法...但是,这说明了我想要实现的目标。

如何测试rails minitest capybara中的状态代码?或者,如何测试 Prawn 生成的pdf页面是否没有错误?

最佳答案

我用它来测试 PDF 下载:

visit '/reports/summary.pdf'
page.status_code.must_equal 200
content_disposition = page.driver.response.headers['Content-Disposition']
content_disposition.must_include 'filename="summary.pdf"'

# the following assertions are mostly equivalent, pick what suits your style best
# I benchmarked them each 5 million times with a small pdf:
# starts_with, ends_with: 0.000046
# must_includes: 0.000080
# regex 0.000111
assert page.body.starts_with? "%PDF-1.4"
assert page.body.ends_with? "%EOF\n"

page.body.must_include '%PDF-1.4'
page.body.must_include '%EOF'

page.body.must_match /\A%PDF-1\.4.*%EOF\n\z/m

关于ruby-on-rails-4 - 测试 Prawn 生成的pdf是否没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23917721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com