2012-01-04 65 views
1

爲了測試rails/mongoid數據庫模型到現在爲止,我曾經有一個真正的模型,只有很少的數據(3..5),試圖覆蓋每一個真實的案例。用tdd/bdd在rails中測試mongoid模型的最佳方法是什麼?

我已經用黃瓜測試外BDD,但我通常通過Rails.logger.info

但現在早期停止,使用rspec的很少,不含夾具和樣機,prefearing真實案例以及打印與軌道記錄的字段值我厭倦了這一點,當模型變得更加複雜時,這太令人難以置信。

用tdd/bdd在rails中測試mongoid模型的最佳方法是什麼? 我可以從哪裏開始?

回答

1

我之前沒有使用過Mongoid,但是爲什麼測試這些模型與使用ActiveRecord的模型有什麼不同呢?我個人依靠RSpec進行單元測試,它應該只測試模型的外部API(行爲),不應該過多地依賴燈具或測試內部數據或私有方法。你也可以使用mocks &存根來避免在很多情況下DB持久化。

如果你的模型變得太複雜了,你可能需要考慮採用更多的面向對象的方法,併爲不依賴於Mongoid的其他類提取一些邏輯。在這種情況下,您有很多選擇,如果您有興趣瞭解更多信息,我強烈建議您使用Refactoring Ruby

+0

感謝Beerlington,我會檢查出來 – 2012-01-04 13:49:18

+0

WTF StackOverflow劫持我的鏈接與他們的亞馬遜推薦無任何通知。 : - | – 2012-01-04 15:06:48

+0

是的,壞人......無論如何已經宣佈:「所有在Trilogy網站上發佈的亞馬遜圖書鏈接將自動被重寫,以添加我們的會員鏈接」請參閱http://meta.stackexchange.com/questions/26964/auto-插入堆棧溢出附屬關係到所有亞馬遜書鏈接 – 2012-01-04 15:18:01

相關問題