0
我有兩個控制器創建一個用戶,創建時,我想給他們發一封電子郵件。由於DRY,我將電子郵件邏輯移至on_create
回調。但是,現在,每當我在rspec測試中創建一個用戶(例如使用factorygirl)時,它都會發送一封電子郵件。Rails:只測試一次on_create回調
一些可能的想法我有:
- 我可以模擬出這種行爲,但後來我需要模擬這一切的時候...
- 我可以使它的參數(例如一個布爾值,只有當電子郵件應該被髮送時纔是真的),但是我只會添加這個測試
這樣做的最乾淨的方法是什麼?
最簡潔的方法可能是*不使用模型回調,而是將用戶創建封裝在單獨的類/模塊/方法中。在那裏,你可以明確地生成電子郵件(然後你不會在你的測試中做) – 2015-03-02 13:06:15