在我的RSpec中我有:
discount.should_receive(:ended=).with(true)
在我的模特中,我有:
self.ended = document.at_css('#buy_now').blank?
if not ended?
...
我想检查ended=
是否已被调用,但是我的规范会检查它是否已被调用,然后跳过实际更新,因此未正确设置结束。
我希望它实际运行,以便后续逻辑可以正常运行。如果可能的话,有没有办法做到这一点?
答案 0 :(得分:1)
您可以使用期望更改来验证结束是否已正确更新,而不会阻止实际更新。
expect {
# code which changes ended to true
}.to change(discount, :ended).from(false).to(true)
https://www.relishapp.com/rspec/rspec-expectations/v/2-0/docs/matchers/expect-change