Rspec spec_helper配置问题:未定义的方法`syntax ='for#<rspec :: mocks :: configuration:>(NoMethodError)</rspec :: mocks :: configuration:>

时间:2013-08-13 20:17:16

标签: ruby-on-rails rspec rspec-mocks

我正在尝试确认在带有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)

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

执行您指定的配置选项(即`mocks.syntax)的能力是RSpec 2.14.0中引入的最近添加的功能,因此在升级到此版本或更高版本之前,您将收到此错误。

至于VCR警告,github(2013年7月26日)提供的最新版VCR似乎已经解决了这个问题,它通过WebMock 1.13宣传支持。但是,最新发布的版本(2.5.0)是从5月开始的,所以除非你想直接从github拔出VCR,否则你只需要接受这个警告。