我刚刚开始使用mocha,我发现在创建一个新的模拟对象时,mocha希望它只被调用一次就很烦人了。我有帮助方法来生成我的模拟,我正在做这样的事情
my_mock = mock(HashOfParameters)
可能不会为每个测试方法调用所有参数,因此会引发错误:
预计恰好一次,尚未调用
所以我想我需要做这样的事情:
my_mock = mock()
HashOfParameters.each do |k, v|
my_mock.expects(k).returns(v).at_least(0)
end
这有效,但我想知道是否有更简单的方法来做到这一点,比如在某处更改默认配置......
答案 0 :(得分:3)
好的,这是一个愚蠢的问题......我没有花时间真正理解模拟和存根之间的区别。这是一篇很好的文章,展示了它的工作原理:
http://martinfowler.com/articles/mocksArentStubs.html
所以在我的例子中,我应该使用stub方法而不是mock。