我在Rails项目中使用Mocha gem来制作存根并绕过一些实时API调用。
我正在遵守documentation,但一直收到错误。
在Gemfile
(我使用Bundler)我有:
gem 'minitest'
gem 'minitest-rails'
gem 'mocha', :require => false
在test_helper.rb
:
require 'minitest'
require 'mocha/mini_test' # This is the last require statement
在product_controller_test.rb
:
require 'test_helper'
class ProductControllerTest < ActionController::TestCase
setup do
Product.any_instance.stubs({
manufacturer: "Acme"
})
end
end
输出始终为NoMethodError: undefined method 'any_instance' for #<Class:blah>
。
我有另一个Rails项目,我可以成功使用any_instance
,所以我尝试通过复制gems,require
语句等来解决,但没有成功。我还尝试了不同的排列,例如require 'minitest/autorun'
,require "minitest/rails'
和require 'mocha/setup'
/ require 'mocha'
等。
我使用的是Rails 4.1.1并使用MiniTest 5.3.3和Mocha 1.0.0。