2011-05-21 52 views
1

我在我的教師控制器的創建操作中有以下行。使用Rails 3中的Rspec測試構建關聯

@rating = @teacher.ratings.build(params[:rating]) unless params[:rating][:rating].blank? 

我知道我的聯想是正確的,因爲除非評級留空該行正確旁邊一個新老師創建了一個新的等級。然而,我正在盡我所能去跟蹤TDD,而且我不知道如何使用rspec來測試這條線。我有點不知所措。

我使用工廠女孩和應該如果有幫助。

回答

3

你可以這樣說:

teacher = Factory(:teacher) 
rating = Factory(:rating, :teacher_id => teacher.id) 
#your_other_actions_here 
teacher.rating.should be present 

(也就是說,如果一個等級屬於用戶)

順便說一句,你應該不考這條線,因爲它已經通過Rails的測試。但是,如果將此行嵌入到某個操作中,則應該測試行爲。