2017-04-22 128 views
1

我想測試在初始化類的新實例時是否調用某個方法。在我的項目,我有以下代碼:RSpec:如何測試初始化​​方法

class Journey 
    def initialize(entry_station) 
    @journey_complete = false 
    @entry_station = entry_station 
    self.start_journey 
    end 

    def start_journey 
    ... 
    end 
end 

我想寫一個RSpec測試檢查start_journey被要求在初始化所有新的征程實例。通常,要檢查一個方法已經運行,我需要一個對象來接收某個消息,然後運行我期望發送它的代碼。例如

expect(journey).to receive(:start_journey) 
Journey.new(station) 

我不能做到這一點在這裏,作爲旅途比如我想測試不存在,直到我跑在第二行的代碼。 RSpec是否有解決方案來測試init方法?

回答