【问题标题】:How do I unstub in rspec 3 without enabling the old syntax?如何在不启用旧语法的情况下取消 rspec 3 中的存根?
【发布时间】:2014-06-23 18:31:20
【问题描述】:

我正在从 rspec 2 升级到 rspec 3,并希望使用新语法而不启用旧语法。但是我在我的顶级before(:each) 块中设置了一些存根,我有选择地unstub 我想要原始实现的地方。

当我使用新的allow 语法定义存根时,是否有一些等效的方法可以删除存根?

【问题讨论】:

    标签: rspec rspec3


    【解决方案1】:

    你可以重新定义它们

    expect(Person).to receive(:find).and_call_original
    

    这将额外检查原始的 :find 方法是否在人身上被调用

    【讨论】:

    • 啊,我不知道我可以重新定义它。现在看起来很明显!我还看到我也可以用allow 重新定义。谢谢!
    • 您需要指定要取消存根的对象的实例。即如果我的Person 实例位于company.boss,那么您需要调用expect(company.boss).to receive(:find).and_call_original
    猜你喜欢
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    相关资源
    最近更新 更多