Me gustaría hacer algo como esto:
some_method.should_raise <any kind of exception, I don't care>
¿Cómo debería hacer esto?
some_method.should_raise exception
... no funciona
Me gustaría hacer algo como esto:
some_method.should_raise <any kind of exception, I don't care>
¿Cómo debería hacer esto?
some_method.should_raise exception
... no funciona
expect { some_method }.to raise_error
Sintaxis de RSpec 1:
lambda { some_method }.should raise_error
Consulte la documentación (para la sintaxis de RSpec 1) y la documentación de RSpec 2 para obtener más información.
RSpec 2
Nota:
raise_error
yraise_exception
son intercambiables.RSpec 1
Nota:
raise_error
es un alias pararaise_exception
.Documentación: https://www.relishapp.com/rspec
RSpec 2:
RSpec 1:
fuente
En lugar de lambda, use esperar para:
Esto se aplica a las versiones más recientes de rspec, es decir, rspec 2.0 y versiones posteriores.
Ver el doco para más.
fuente
expect
es mejor o peor quelambda
.expect { visit welcome_path }.to raise_error
La sintaxis cambió recientemente y ahora es:
fuente
A partir de la versión 3.3 en
rspec-expections
gem, se genera una advertencia para un raise_error en blanco sin un parámetroEsto le da una pista de que su código puede fallar con un error diferente al de la prueba que se pretende verificar.
fuente