我有一个代码块,可以在调用方法之前锁定优惠券的数据库表。
coupon.with_lock do
apply_user_coupon!(coupon)
end
我该如何测试?我几乎不关心锁...我只是想让测试继续apply_user_coupon
方法,但我不知道如何绕过with_lock
部分考试。我该怎么做?
请注意,该块不带参数。
答案 0 :(得分:3)
在it
或before
块中,您可以隐藏功能并让该块实际运行:and_yield
。
allow(coupon).to receive(:with_lock).and_yield