首页 文章

如何在RSpec测试中删除PDF生成?

提问于
浏览
3

我正在使用Prawn和Prawnto在Rails 3.2.6中生成PDF

我有一个响应.pdf扩展的控制器,如下所示:

respond_to do |format|
  format.pdf { prawnto some_options }
end

这样做的测试:

get :pdf_route, :format => :pdf
response.header['Content-Type'].should include 'application/pdf'

PDF渲染大约需要2-3秒,并且大大减慢了我的测试套件的速度 .

也就是说,自从 I don't want to test the contents of the PDF 在我的控制器测试中,我想完全删除PDF生成,并确保我使用respond_to委托给相应的PDF视图模板 . 这是我无法弄清楚的 .

这是我到目前为止所尝试的内容:

format = mock("format")
format.stub(:pdf).and_return "some PDF stuff"
controller.stub(:respond_to).and_yield(format)

然而,这似乎没有帮助,控制器仍然最终渲染PDF . 有什么指针吗?

1 回答

  • 1

    这个怎么样?

    it "generates a pdf with prawnto" do
      controller.should_receive(:prawnto)
      get :pdf_route, :format => :pdf
    end
    

相关问题