铁路工厂女孩比较失败

时间:2013-04-07 14:58:03

标签: ruby-on-rails rspec factory-bot

_spec.rb

 context 'find discount coupon' do 
        it 'if coupon suitable for use' do 
          coupon = Factory(:standart_discount_coupon)
          DiscountCoupon.find_discount_coupon(coupon.coupon_no).should eql({:success => true, :error => nil, :coupon_id => coupon.id })
        end
      end

我有这个测试,当我运行它时,我遇到了这个错误。

 1) DiscountCoupon find discount coupon if coupon suitable for use
     Failure/Error: DiscountCoupon.find_discount_coupon(coupon.coupon_no).should eql({:success => true, :error => nil, :coupon_id => coupon.id })

       expected: {:success=>true, :error=>nil, :coupon_id=>1060}
            got: {:success=>true, :error=>nil, :coupon_id=>1046}

       (compared using eql?)

       Diff:
       @@ -1,4 +1,4 @@
       -:coupon_id => 1060,
       +:coupon_id => 1046,
        :error => nil,
        :success => true

为什么copon_id不同?

1 个答案:

答案 0 :(得分:1)

除了“标准”的拼写错误之外,我猜你没有什么可以阻止你在数据库中使用相同coupon_no的多张优惠券。好的事情是你有一个测试来解决这个问题,即使它只是因为你的工厂使用coupon_no的默认值而可见。