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”。
人们是否有推荐的库来测试虾表生成的内容。或者有标准方法可以做到这一点吗?
由于字符串是生成文本的字符串数组,因此如果想要测试更长的字符串或句子,则需要连接字符串中的值。
这样做:
{ expect(PDF::Inspector::Text.analyze( my_pdf ).strings.join(" ").to include "Object 10" }
...应该给你你需要的东西。