2013-10-08 109 views
0

我正在尋找一些允許我在內存數組中存根的gem。Rails活動記錄存根與數組

所以,所有的發現將工作,但真正的數據庫不會被觸及。

請指教,

謝謝!

+0

爲什麼不存儲每個電話? – apneadiving

+0

首先,因爲它只是簡單的使用數組,我也可以測試查詢的作品。 –

+0

聽起來像一個糟糕的測試模式,祝你好運 – apneadiving

回答

1

我真的懷疑有一個,因爲關係代數不會是一件容易的事情來模擬/存根。

如果您正在尋找更好地管理您的測試數據的方法,請查看不同的工廠寶石,如factory_girlmachinist

但我想這是你的速度。在這種情況下,堅實的OO設計就是你的朋友。 您可以構建一個抽象,使您可以輕鬆地嘲笑它們,因爲您將在普通的Ruby對象(不直接使用Rails ORM)上調用自定義方法。爲了更好地理解這個概念,我建議你觀看Sandi Metz presentations,但是在你的特殊情況下你可能想從Repository pattern開始,關於ruby實現的一個想法 - here

甚至有一些紅寶石的寶石,提供了一些設施是: https://github.com/fredwu/datamappify

正在爲短短6年裏,我不能去扮演一個超級騙子聰明的傢伙親軟件開發人員。但是我已經在一年半的時間裏在我的項目中加入了不同的OOD模式,我必須說我希望我的OOP路徑能夠從這些模式開始。

儘管我還沒有在我的任何項目中使用過存儲庫模式,但我使用了其他模式,而且我非常想嘗試這個模式。堅實的設計需要時間,正確地做事需要時間,但隨後可以作爲可維護軟件回報。問題是,你是否準備採取這條道路? :)

+0

謝謝!但我希望有一些類似於.net LINQ,你可以在IEnumearable和IQueryable之間輕鬆切換。 –

0

您是否嘗試過SQLite內存?例如在你的Rails應用程式config/database.yml你會怎麼做:

test: 
    adapter: sqlite3 
    encoding: utf8 
    database: :memory: 

還有NullDB,如果你不需要讀/寫,但可能並非如此。