我正在尝试确认在带有rspec测试的控制器方法中调用了一个函数。为此,我正在关注relishapp documentation以设置消息预期。
但是,我在将此代码段添加到spec_helper.rb
:
config.mock_with :rspec do |mocks|
mocks.syntax = :should
end
虽然文件中只有config.mock_with :rspec
已经没有问题,但在上面添加代码片段并运行rspec会导致出现以下错误:
You are using WebMock 1.12.3. VCR is known to work with WebMock >= 1.8.0, < 1.12. It may not work with this version.
/Users/user/rails_projects/project/spec/spec_helper.rb:100:in `block (2 levels) in <top (required)>': undefined method `syntax=' for #<RSpec::Mocks::Configuration:memory_location> (NoMethodError)
如何解决此问题?
答案 0 :(得分:1)
执行您指定的配置选项(即`mocks.syntax)的能力是RSpec 2.14.0中引入的最近添加的功能,因此在升级到此版本或更高版本之前,您将收到此错误。
至于VCR警告,github(2013年7月26日)提供的最新版VCR似乎已经解决了这个问题,它通过WebMock 1.13宣传支持。但是,最新发布的版本(2.5.0)是从5月开始的,所以除非你想直接从github拔出VCR,否则你只需要接受这个警告。