如何在RSpec中绕过`with_lock`块

时间:2017-04-21 14:40:59

标签: rspec

我有一个代码块,可以在调用方法之前锁定优惠券的数据库表。

coupon.with_lock do
    apply_user_coupon!(coupon)
end

我该如何测试?我几乎不关心锁...我只是想让测试继续apply_user_coupon方法,但我不知道如何绕过with_lock部分考试。我该怎么做?

请注意,该块不带参数。

1 个答案:

答案 0 :(得分:3)

itbefore块中,您可以隐藏功能并让该块实际运行:and_yield

allow(coupon).to receive(:with_lock).and_yield