1

我最近升级到 Rails 4。当我运行 RSpec 测试时出现错误。

这是我的规格:

1   model = double(:model, errors: double(:errors, full_messages: []))
2   transaction = double(:transaction)
3   transaction.stub(:update_attributes!) { raise ActiveRecord::RecordInvalid.new(model) }

<NoMethodError: undefined method 'i18n_scope' for RSpec::Mocks::Mock:Class>在第 3 行得到了错误。

根据 API 文档,“i18n_scope”已从 Rails 4 中删除。

4

1 回答 1

-1
RSpec::Mocks::Mock.stub(:i18n_scope).and_return(:activerecord)
model = double(:model, errors: double(:errors, full_messages: []))
ActiveRecord::RecordInvalid.new(model)

不知道为什么 RSpec::Mocks::Mock:Class 正在寻找 'i18n_scope' 方法。但为了修复它,我使用了“i18n_scope”。然后它工作。

于 2015-08-18T08:50:10.877 回答