4

我正在升级我们的代码库以使用 rspec 3.1.0,并在此处关注文档: https ://relishapp.com/rspec/docs/upgrade

现有测试之一在运行 transspec 后出现以下错误。

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

这是测试。

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

新的 synatx 不再收到块了吗?

4

1 回答 1

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
于 2014-11-14T20:48:01.780 回答