rspec`with`必须至少有一个参数。升级到3.1.0后出错

时间:2014-09-10 18:58:01

标签: ruby-on-rails ruby-on-rails-3 rspec rspec-rails rspec3

我正在升级我们的代码库以使用rspec 3.1.0并遵循以下文档: https://relishapp.com/rspec/docs/upgrade

现有测试之一我在运行transpec后遇到以下错误。

" with必须至少有一个参数。使用no_args匹配器设置不接收参数的期望。"

这是测试。

  it 'does something' do
    expect(my_method).to receive(:resource)
      .with { |path| path.include? 'test' }.and_return({})
  end

新的synatx是否不再接收块?

1 个答案:

答案 0 :(得分:1)

这在版本2.99中已弃用,已在rspec 3中删除。您可以在此处查看详细信息:https://github.com/rspec/rspec-mocks/issues/377

您可以使用以下方法完成相同的测试:

it 'does something' do
    expect(my_object).to receive(:resource).with(/test/).and_return({})
end