我是新來的測試驅動的開發(和相當新的Rails)的概念。我堅持要如何爲我的應用程序編寫測試。編寫一個測試,涉及到多個關聯一個Rails 3模型方法
作爲背景資料,Web應用程序是同行評價工具,其中個人組被分派在那裏他們被要求評估他們的同齡人的調查。因此,一個樣品的問題是這樣的:
Rate your peers on time management.
- Peer 1: __
- Peer 2: __
- Yourself: __
我怎麼有這樣的設置在內部是這樣:
我有一個Survey
模型與has_many
聯想到Assignment
模型(它控制的可視性組間調查),其作爲Survey
和Group
模型的加入模型。在Group
模型中,存在has_many
與User
的關聯。
由於多個組可以分配相同的調查,我必須找出哪些Group
某個用戶被要求評價。 (因此,調查結果將是相同的,但上面示例中顯示的人員會因用戶而異)。
我決定創建一個方法,assignees_for_user(user)
,它基本上會返回已分配給調查的用戶組。
我希望能夠單元測試這種方法。我目前使用rspec和factory_girl。我有幾個問題:
- 我的方法甚至是正確的設計?
- 我應該測試一下嗎?如果是這樣,我需要爲
Assignment
,Group
和User
創建實例,對不對? - 什麼是我可以存根/嘲笑這種情況下沒有堅持他們到數據庫的最好方法?或者我必須?
謝謝!