【问题标题】:Rspec: Avoiding out of sync issues with message expectationsRspec:避免消息期望的不同步问题
【发布时间】:2012-12-04 18:26:22
【问题描述】:

消息预期允许您检查被测对象是否正在发送正确的消息,但不能检查目标对象是否可以实际响应此调用。另一方面,集成测试检查一切是否真的有效,即调用是否正确进行、理解和执行。

是否有中间立场,例如检查被测对象是否发送正确的消息接收对象可以响应这些消息?这将确保在接收对象更改时测试中断,而无需运行完整的集成测试。本质上:

target.should_receive(:my_method) && target.should respond_to(:my_method)

使用自定义匹配器,如

target.should_get_message(:my_method)

这对于我认为只协调不同动作的粘合类可能很有用。

您对此有何看法?这是一种可行的方法吗?

【问题讨论】:

    标签: ruby rspec mocking


    【解决方案1】:

    Checkout rspec-fire 它解决了这个确切的问题。我已经在很多项目中使用它。

    【讨论】:

    • 谢谢,这看起来很有希望!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    • 2012-06-15
    相关资源
    最近更新 更多