我的目标是在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求助。
答案 0 :(得分:0)
如果您的请求是使用xlsx格式,请检入测试日志。你的测试应该工作正常。
get
是否附加format
作为查询字符串参数?也许你需要:
get "/company_table_sets/#{id}.xlsx"
你也应该能够使用:
response.content_type.to_s.should eq Mime::XLSX.to_s