在mocha中使用instance_of参数匹配器

问题描述 投票:0回答:1

我想在instance_of中使用ActionController::TestCase参数匹配器进行测试。我已导入以下文件

require 'mocha/api'
require 'mocha/setup'

我想写这样的东西。

Book.any_instance.stubs(:read).with(instance_of(String)).returns true

但是我收到一条消息:instance_of没有方法错误。虽然我可以在为RSpec配置了它的另一个文件中使用它。您能否让我知道我需要导入才能使用参数匹配器的文件

ruby-on-rails ruby mocking mocha
1个回答
0
投票

[https://github.com/freerange/mocha#rspec说我们应该在找到工作的RSpec配置中使用config.mock_with :mocha

让我们深入研究GitHub上的代码。找到mock_with的代码here

似乎它需要另一个文件,它是here

您可以检查上面的代码,并且会发现您需要这样的摩卡咖啡:

begin
  require 'mocha/api'

  begin
    require 'mocha/object'
  rescue LoadError
    # Mocha >= 0.13.0 no longer contains this file nor needs it to be loaded.
  end
rescue LoadError
  require 'mocha/standalone'
  require 'mocha/object'
end

请注意,您不需要完全一样。当您知道所用的摩卡版本时,就只需要必需的组件。

© www.soinside.com 2019 - 2024. All rights reserved.