28

我将 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 的变更日志中,我可以读到它从未受到支持(oink ?!@#)。同时还有一些例子是如何使用更改语法但没有not关键字。

所以问题是如何期望没有变化?

4

1 回答 1

62

幸运的是,我希望没有任何变化(任何),所以我可以省略by()部分。它工作得很好!

  expect{@slide.destroy(force: false)}.to_not change(Slide.with_deleted, :count)
于 2014-08-12T16:37:45.670 回答