如何约束传递给RSpec中模拟对象的方法的允许参数值? (假设先前已对该模拟对象设置了期望)
例如,我想做这样的事情:
@myMockObject.should_receive(:logValue).at_least(:once).with(anything(), should be > 0)
也就是说,我想指定@myMockObject接收对logValue()的方法调用,其中包含第一个参数的任何内容以及第二个参数的任何大于0的整数。不幸的是,上面的代码不能像写的那样工作。有一个简单的方法吗?
答案 0 :(得分:1)
@myMockObject.should_receive(:log_value) do |arg1, arg2|
arg2.should be > 0
end.at_least(:once)