2013-07-20 30 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') 

上面做相同斯塔宾的方法。唯一的区别是,如果方法名称没有完全调用一次,则测试失败。