我是 FactoryGirl 的忠实粉丝,但从未理解过 " .build_stubbed
" 方法,并希望将 stubbing/mocking 合并到我的 TDD 中。有人可以帮助我了解我可以用 FactoryGirl 做什么样的存根吗?我应该开始使用 Mocha 或其他类似的 GEM 来处理模拟/存根,还是 Rails 4 默认 MiniTest 中包含这些?
问问题
875 次
1 回答
3
factory girl 命令build_stubbed
意味着对象已创建(及其所有关联对象)但没有对象插入到数据库中。如果您想要更快的测试并且不需要在数据库中拥有对象,您应该使用它。
这意味着该命令不必对存根或模拟做太多事情。
我自己只有使用 Mocha 的经验,可以说它很容易用于 stubbing 和 mocking。
用于存根命令(例如对象 Person)
person = Person.new
person.stubs(:name).returns('Robert')
上面的示例创建了一个人的实例,并删除了方法名称以始终返回“罗伯特”。
用于模拟相同的命令
person = Person.new
person.expects(:name).returns('Robert')
上面的方法与存根方法相同。唯一的区别是,如果方法名称没有被准确地调用一次,那么现在测试会失败。
于 2013-07-22T09:11:12.520 回答