我将rspec版本从2升级到3.这是我遇到的问题之一:
Failures:
1) Slide after .destroy(force: false) visible if .with_deleted
Failure/Error: expect{@slide.destroy(force: false)}.to_not change(Slide.with_deleted, :count).by(1)
NotImplementedError:
`expect { }.not_to change { }.by()` is not supported
# ./spec/models/slide_spec.rb:36:in `block (3 levels) in <top (required)>'
并且在rspec's changelog中我可以读到它从未被支持过(oink?!@#)。与此同时,仍有some examples how to use change syntax但没有not
个关键字。
所以问题是如何期待没有变化?
答案 0 :(得分:49)
幸运的是我希望没有任何变化(任何),所以我可以省略by()
部分。它运作得很好!
expect{@slide.destroy(force: false)}.to_not change(Slide.with_deleted, :count)