0

在这里是 Ruby on Rails 的新手。

我正在使用money-rails gem做一个有金钱支持的应用程序。我想测试货币语言环境。

在 test_helpers_spec.rb阅读gem 的示例,有

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

相应的产品型号在哪里

monetize :bonus_cents, :with_currency => :gbp

所以测试通过了。我将如何按照最近的 rspec 的 expect(...)语法重写该测试?我会尝试

expect(monetize(:bonus_cents).with_currency(:gbp)).to be true

但它失败了。

4

1 回答 1

2
product.should monetize(:bonus_cents).with_currency(:gbp)

Comes out to:

expect(product).to monetize(:bonus_cents).with_currency(:gbp)

expect just wraps the object being tested, the rest of the matchers are generally the same.

于 2014-08-31T06:46:13.757 回答