PDF阅读器黄瓜红宝石

时间:2017-01-05 08:59:12

标签: ruby pdf cucumber pdf-reader

我被要求编写一些测试以确认文本包含在PDF文件中。我已经遇到了PDF阅读器gem,除了输出太好之外,它总是擅长从文件中呈现文本。我有一段文本,例如,应该阅读Date of first registration of the product,但PDF阅读器将其视为Date offirstregistrationoftheproduct。因此,当我运行我的断言时,由于文本的间距而失败。

我的代码:

expected_text = 'Date of first registration of the product'

file = File.open(my_pdf, "rb")
  PDF::Reader.open(file) do |reader|
    reader.pages.each do |page|
       expect(page).to have_text expected_text
    end

结果是RSpec期望未达到错误。

有没有办法让我的文本格式正确,以便我的断言可以读取它?

1 个答案:

答案 0 :(得分:0)

Reader的页面对象不是文本。如果您想从pdf获取文本,可以使用assertTrue(mockMvc.perform(get("/api/users/" + id)) .andExpect(status().isOk()) .andReturn() .getResponse() .getContentAsString() .contains("{\"id\":\"" + id + "\"}"); 。使用正则表达式可以解决您的问题。

尝试以下内容。

page.text