如何测试prawn-table生成的pdf内容

问题描述 投票:0回答:1

pdf-inspector 提供了一些有用的方法来测试 Prawn 生成的 PDF。虽然测试字符串很简单,但我需要一种方法来测试表(由 prawn-table 生成)是否正确生成。

例如,我正在生成一个表

rows = ['Name','Value']
@objects.each do |object|
rows << [object.name, object.value]
table(rows)

我想在测试中包含类似以下内容

let(:object} { create :object, name: 'Object', value: 10 }
let(:my_pdf) { MyPdf.new( #params ) }

it { expect(PDF::Inspector::Text.analyze( my_pdf ).strings ).to include "Object 10" }

这不起作用,因为 prawn-table 不会将其生成为单个字符串,而是生成为“Object”、“10”。

人们是否有推荐的库来测试虾表生成的内容。或者有标准方法可以做到这一点吗?

ruby-on-rails rspec prawn
1个回答
0
投票

由于字符串是生成文本的字符串数组,因此如果想要测试更长的字符串或句子,则需要连接字符串中的值。

这样做:

{ expect(PDF::Inspector::Text.analyze( my_pdf ).strings.join(" ").to include "Object 10" }

...应该给你你需要的东西。

© www.soinside.com 2019 - 2024. All rights reserved.