【问题标题】:mocking in Ruby: mocks are sticking around between tests在 Ruby 中模拟:模拟在测试之间徘徊
【发布时间】:2010-10-20 02:44:35
【问题描述】:

我正在使用 RR 作为我个人项目的模拟框架。我一直在用它来模拟某些类的新方法,当我运行测试时它们通过了很好,但是当我运行所有测试时,我遇到了一个问题,似乎“新”方法仍在返回假的结果,即使在不同的测试文件中。有没有办法手动关闭新方法的存根?我在这里错过了什么?

感谢您的帮助, 亚历克斯

我已尝试将此代码放入我的应用程序中,但它会破坏应用程序,并且....不能解决上述问题。

RSpec.configure do |config|
  config.mock_with :rr
end

【问题讨论】:

    标签: ruby mocking rr


    【解决方案1】:

    Mocks 正在取代您的旧方法。一旦一个方法被你的模拟所取代,除非你采取预防措施,否则它将永远不会再正常了。

    看看this 线程。我在那里解释了如何使用简单的alias 撤消 Mocha 模拟。

    【讨论】:

      【解决方案2】:

      RSpec 的模拟在测试之间会自动拆除。但是,当您将 RSpec 配置为使用另一个库进行模拟时,您仍然必须通过 RSpec mocking API 使用它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-06
        • 2012-06-03
        • 2021-11-14
        • 2018-01-21
        • 1970-01-01
        • 2016-04-18
        • 2013-10-27
        相关资源
        最近更新 更多