Подтвердить что ты не робот

Not_to change.by() не поддерживается

Я обновил версию 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 changelog Я могу прочитать, что он никогда не поддерживался (oink?! @#). В то же время есть еще несколько примеров использования синтаксиса изменений, но без ключевого слова not.

Итак, вопрос в том, как ожидать никаких изменений?

4b9b3361

Ответ 1

К счастью, я не ожидаю никаких изменений (никаких), поэтому я могу опустить часть by(). Он отлично работает!

  expect{@slide.destroy(force: false)}.to_not change(Slide.with_deleted, :count)