在axslx生成的文件上运行规范

时间:2014-10-07 10:17:11

标签: ruby-on-rails-4 rspec axlsx

我的目标是在axlsx-rails gem生成的文件上运行规范,并使用我发现here的自定义rspec匹配器。

在我的规范示例中,我有:

describe Statistic::CompanyTableSetsController do
  login_user # this just for Devise Auth
  it "generates a proper excel sheet" do
    ...
    get "show", format: :xlsx, id: id
    response.content_type.to_s.should eq Mime::Type.lookup_by_extension(:xlsx).to_s
  end
end

但是当我进行测试时,我得到了:

Failure/Error: response.content_type.to_s.should eq Mime::Type.lookup_by_extension(:xlsx).to_s

   expected: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
        got: "text/html"

当然,我无法在其他规范示例中获得工作表......

想想我在这里想念一些东西,因为在我的浏览器中,Excel工作表正常生成。

Thanx求助。

1 个答案:

答案 0 :(得分:0)

如果您的请求是使用xlsx格式,请检入测试日志。你的测试应该工作正常。

get是否附加format作为查询字符串参数?也许你需要:

get "/company_table_sets/#{id}.xlsx"

你也应该能够使用:

response.content_type.to_s.should eq Mime::XLSX.to_s