我想在instance_of
中使用ActionController::TestCase
参数匹配器进行测试。我已导入以下文件
require 'mocha/api'
require 'mocha/setup'
我想写这样的东西。
Book.any_instance.stubs(:read).with(instance_of(String)).returns true
但是我收到一条消息:instance_of
没有方法错误。虽然我可以在为RSpec配置了它的另一个文件中使用它。您能否让我知道我需要导入才能使用参数匹配器的文件
[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
请注意,您不需要完全一样。当您知道所用的摩卡版本时,就只需要必需的组件。