Я хотел бы сделать что-то вроде этого:
some_method.should_raise <any kind of exception, I don't care>
Как мне это сделать?
some_method.should_raise exception
... не работает
Я хотел бы сделать что-то вроде этого:
some_method.should_raise <any kind of exception, I don't care>
Как мне это сделать?
some_method.should_raise exception
... не работает
expect { some_method }.to raise_error
Синтаксис RSpec 1:
lambda { some_method }.should raise_error
См. Документацию (для синтаксиса RSpec 1) и документацию RSpec 2 для получения дополнительной информации.
RSpec 2
Примечание:
raise_error
иraise_exception
являются взаимозаменяемыми.RSpec 1
Примечание:
raise_error
это псевдоним дляraise_exception
.Документация: https://www.relishapp.com/rspec
RSpec 2:
RSpec 1:
источник
Вместо лямбды используйте ожидаемое:
Это относится к более поздним версиям rspec, т.е. rspec 2.0 и выше.
Смотрите документацию для более.
источник
expect
она лучше или хужеlambda
.expect { visit welcome_path }.to raise_error
Синтаксис изменился недавно и теперь это:
источник
Начиная с версии 3.3, в
rspec-expections
геме выдается предупреждение о пустом рейзе без параметраЭто дает вам подсказку о том, что ваш код может завершиться с ошибкой, отличной от теста, предназначенного для проверки.
источник