2011-09-07 68 views
1

我有幾種查詢數據庫的方法,如果傳遞了正確的參數,並且試圖找到測試它們的最佳方法。如何測試具有多個關聯的rspec ActiveRecord查詢

在這一點上,我使用stub_chain's,但覺得這與實現非常接近,如果我改變了搜索,它將打破測試。 這是查詢:

def query 
    self.users.active.find_by_name("john") 
end 

和我測試它像這樣:

client.stub_chain(:users, :active, find_by_name).and_return([mock_model("User")]) 
client.query.should_not be_blank 

這工作,以及只調用查詢沒有磕碰和檢查,看看如果返回是數組或一個空陣列,但都不是最優的。現在,我基本上只是測試我是否做出這個確切的電話。

回答

1

如果你想解開了一下,你最好捻熄query方法本身:

client.stub(:query).and_return [mock_model("User")] 

否則,它的罰款。


如果要測試確切的方法調用look here,則爲獎勵。

相關問題