2013-07-20 31 views
1

我是FactoryGirl的忠實粉絲,但從未理解「.build_stubbed」方法,並希望在我的TDD中包含存根/嘲諷。有人可以幫助我瞭解我可以用FactoryGirl做什麼樣的殘留物的基礎知識嗎?我應該開始使用Mocha還是其他類似的GEM來處理模擬/存根,或者是否包含在Rails 4默認MiniTest中?與FactoryGirl,MiniTest和Rails混合4

回答

3

工廠女孩命令build_stubbed意味着該對象被創建(以及它的所有關聯對象),但是沒有對象被插入到數據庫中。如果您想要更快速的測試並且不需要在數據庫中包含對象,則應該使用它。

這意味着該命令不需要做太多的殘留或嘲弄。

我自己只有摩卡的經驗,可以說很容易使用它來存根和嘲弄。

對於磕碰出的命令(例如,對象者的)

person = Person.new 
    person.stubs(:name).returns('Robert') 

的obove示例創建者的實例,並stubbes該方法名總是返回「羅伯特」。

對於嘲笑出相同的命令

person = Person.new 
    person.expects(:name).returns('Robert') 

上面做相同斯塔賓的方法。唯一的區別是,如果方法名稱沒有完全調用一次,則測試失敗。