【问题标题】:Got error after migration from rspec-rails 2.x to 3.x从 rspec-rails 2.x 迁移到 3.x 后出现错误
【发布时间】:2014-08-14 06:29:47
【问题描述】:

在迁移之前,这些步骤已通过,但现在出现错误:

Failures:

  1) RegistrationPayment .opts
     Failure/Error: allow(Rails.configuration).to receive(:pim_product_url).and_return(product_url)
     ArgumentError:
       wrong number of arguments (2 for 1)
     # ./spec/lib/registration_payment_spec.rb:47:in `block (2 levels) in <top (required)>'

  2) RegistrationPayment .new
     Failure/Error: allow(Rails.configuration).to receive(:pim_product_offerings).and_return([offering_id])
     ArgumentError:
       wrong number of arguments (2 for 1)
     # ./spec/lib/registration_payment_spec.rb:38:in `block (2 levels) in <top (required)>'

我这样定义product_urloffering_id

  let(:product_url) { '/product/url' }
  let(:offering_id) { '3000319' }

【问题讨论】:

  • 某事期待一个参数但接收两个参数:wrong number of arguments (2 for 1)。查看示例中的代码以确定导致该问题的原因可能会有所帮助。

标签: rspec-rails rspec3


【解决方案1】:

这是由于 Rails 3 中的一个错误。它已在 Rails 4 中得到修复: https://github.com/rails/rails/commit/ba5fab4c015366e355ab92371b27e77e896124a4

TL;DR;回应?应该接受 2 个参数,但 Railties 中的配置类不接受。

【讨论】:

  • 它已在 Rails 4.1 中修复,而不是 4 :sadpanda:
  • 更正:它已在 Rails 4.0.10 中修复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-28
  • 2019-07-21
  • 1970-01-01
  • 2019-03-15
  • 2018-02-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多