当我运行测试“rspec spec”在控制台中,我将收到一个弃用警告

时间:2015-03-31 16:12:10

标签: ruby-on-rails rspec

describe Item do

  it 'calculates price according to a special formula' do
    item = Item.new('kettle', price: 200)
    item.price.should == 212
  end

end

弃用警告:

使用来自rspec-expectations'的should不使用显式启用语法的旧:should语法已弃用。使用新的:expect语法或明确启用:should 而是config.expect_with(:rspec) { |c| c.syntax = :should }。从E:/work/storeapp/spec/item_spec.rb调用:9:在'块(2级)中'。

如果您需要更多这些弃用的回溯 确定在哪里进行必要的更改,您可以进行配置 config.raise_errors_for_deprecations!,它会变成 将弃用警告转换为错误,为您提供完整的回溯。

1弃用警告总数

以0.00505秒结束(文件加载0.17058秒) 1例,0次失败

如何避免这种警告?

1 个答案:

答案 0 :(得分:3)

以新的方式编写测试:

expect(item.price).to eq 212

顺便说一句。看起来你可能做的很冒险/混乱。为属性分配200后,查看具有相同名称的getter返回的另一个值会更令人困惑。您是否考虑过单独保留原始方法并定义新方法(如price_with_vat)?