1

你如何限制 RSpec 中传递给模拟对象方法的允许参数值?(假设先前已在该模拟对象上设置了期望)

例如,我想做这样的事情:

@myMockObject.should_receive(:logValue).at_least(:once).with(anything(), should be > 0)

也就是说,我想指定 @myMockObject 接收对 logValue() 的方法调用,第一个参数为任何内容,第二个参数为任何大于 0 的整数。不幸的是,上面的代码不能像写的那样工作。是否有捷径可寻?

4

1 回答 1

1
@myMockObject.should_receive(:log_value) do |arg1, arg2|
  arg2.should be > 0
end.at_least(:once)
于 2012-06-14T01:08:21.193 回答