鑑於一個典型的ActiveRecord模型,我經常有before_save
回調解析輸入,例如從用戶採取類似time_string
和解析它到time
字段。Rails:如何測試before_save回調
即設置看起來像這樣:
before_save :parse_time
attr_writer :time_string
private
def parse_time
time = Chronic.parse(time_string) if time_string
end
據我所知,它被認爲是最好的做法,使回調方法私有。但是,如果他們是私人的,那麼你不能單獨調用他們來單獨測試他們。
因此,對於你來說,經驗豐富的Rails測試人員,你如何處理測試這種事情?
你在哪裏使用'time'變量?是你的對象的屬性? –
上面的例子是一種捏造,但是,時間變量是一個對象屬性。 – Andrew