2010-03-25 23 views
1

使用Ruby 1.8.6,磕碰查找方法返回一個數組當被測代碼調用結果「計數」方法不起作用:成株ActiveRecord的結果數組

User.any_instance.stubs(:friends).returns([user1, user2]) 

這是因爲數組。 count僅在Ruby 1.8.7中添加。 Rails也動態地添加了一個計數方法,我相信通過ActiveRecord :: Calculations模塊。

有什麼辦法可以將這個結果數組轉換成與Rails finder方法返回的特殊數組類一樣的行爲嗎?對結果進行分頁時,很容易:我可以簡單地調用[] .paginate。但是這對正常的查找結果不起作用。我試過[].extend(ActiveRecord::Calculations),但那也行不通。

回答

-1

你可以嘲笑算過:

arr = [user1, user2] 
arr.stubs(:count).returns(arr.size) 
User.any_instance.stubs(:friends).returns(arr) 
+0

肯定,但我一直在尋找一個通用的解決方案這一點。 count只是通過rails注入Array的許多方法之一。 – Matthias 2010-03-26 09:38:17