2011-07-19 69 views
3

使用RSpec,我想測試一個方法中調用某些方法。看看下面的例子類:如何用RSpec進行測試?

class Upload < ActiveRecord::Base 
    def process 
     case self.file_name 
     when /\.html$/ 
     to_pdf 
     end 
    end 
end 

我將如何測試時process被稱爲與FILE_NAME =「foo.html」的上傳實例to_pdf叫?如果可能的話,我想用一個測試double來做這個。

回答

6
instance = Upload.new 
instance.file_name = "foo.html" 

instance.should_receive(:to_pdf) 

instance.process 
+0

謝謝!我正在做同樣的事情,但使用測試雙代替,並得到一些錯誤,我無法弄清楚如何解決。 –