这里是Ruby on Rails的新手。
我正在使用money-rails gem进行资金支持申请。我想测试钱现场。
阅读gem's example at test_helpers_spec.rb,有
let(:product) do
Product.create(:price_cents => 3000, :discount => 150,
:bonus_cents => 200,
:sale_price_amount => 1200)
end
...
describe "monetize matcher" do
...
it "matches model attribute with currency specified by :with_currency chain" do
product.should monetize(:bonus_cents).with_currency(:gbp)
end
...
end
各自的Product model有
monetize :bonus_cents, :with_currency => :gbp
所以测试通过了。如何在最近的rspec's expect(...)语法后重写该测试?我会试试
expect(monetize(:bonus_cents).with_currency(:gbp)).to be true
但它失败了。
答案 0 :(得分:2)
product.should monetize(:bonus_cents).with_currency(:gbp)
出来:
expect(product).to monetize(:bonus_cents).with_currency(:gbp)
expect
只包装正在测试的对象,其余的匹配器通常是相同的。