【问题标题】:ruby rspec: setting arbitrary constraints on mock object expectation method argumentsruby rspec:在模拟对象期望方法参数上设置任意约束
【发布时间】:2012-06-14 01:00:33
【问题描述】:

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

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

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

也就是说,我想指定 @myMockObject 接收对 logValue() 的方法调用,第一个参数为任何值,第二个参数为任何大于 0 的整数。不幸的是,上面的代码不能像写的那样工作。有没有简单的方法可以做到这一点?

【问题讨论】:

    标签: ruby rspec mocking


    【解决方案1】:
    @myMockObject.should_receive(:log_value) do |arg1, arg2|
      arg2.should be > 0
    end.at_least(:once)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多