0

我正在尝试使用 rspec 测试确认在控制器方法中调用了一个函数。为此,我遵循relishapp 文档来设置消息期望。

但是,我无法将此代码段添加到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)

我该如何解决这个问题?

4

1 回答 1

1

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

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

于 2013-08-13T20:54:58.527 回答