Eu gostaria de fazer algo assim:
some_method.should_raise <any kind of exception, I don't care>
Como devo fazer isso?
some_method.should_raise exception
... não funciona.
Eu gostaria de fazer algo assim:
some_method.should_raise <any kind of exception, I don't care>
Como devo fazer isso?
some_method.should_raise exception
... não funciona.
expect { some_method }.to raise_error
Sintaxe do RSpec 1:
lambda { some_method }.should raise_error
Consulte a documentação (para sintaxe do RSpec 1) e a documentação do RSpec 2 para obter mais informações.
RSpec 2
Nota:
raise_error
eraise_exception
são intercambiáveis.RSpec 1
Nota:
raise_error
é um alias pararaise_exception
.Documentação: https://www.relishapp.com/rspec
RSpec 2:
RSpec 1:
fonte
Em vez de lambda, use expect para:
Isso se aplica a versões mais recentes do rspec, ou seja, rspec 2.0 e superior.
Veja o documento para mais informações.
fonte
expect
é melhor ou pior quelambda
.expect { visit welcome_path }.to raise_error
A sintaxe mudou recentemente e agora é:
fonte
A partir da versão 3.3 no
rspec-expections
gem, gera um aviso para um raise_error em branco sem um parâmetroIsso dá uma dica de que seu código pode falhar com um erro diferente do que o teste pretendia verificar.
fonte