Je voudrais faire quelque chose comme ça:
some_method.should_raise <any kind of exception, I don't care>
Comment dois-je procéder?
some_method.should_raise exception
... ne fonctionne pas.
Je voudrais faire quelque chose comme ça:
some_method.should_raise <any kind of exception, I don't care>
Comment dois-je procéder?
some_method.should_raise exception
... ne fonctionne pas.
expect { some_method }.to raise_error
Syntaxe RSpec 1:
lambda { some_method }.should raise_error
Consultez la documentation (pour la syntaxe RSpec 1) et la documentation RSpec 2 pour plus d'informations.
RSpec 2
Remarque:
raise_error
etraise_exception
sont interchangeables.RSpec 1
Remarque:
raise_error
est un alias pourraise_exception
.Documentation: https://www.relishapp.com/rspec
RSpec 2:
RSpec 1:
la source
Au lieu de lambda, utilisez s'attendre à:
Cela s'applique aux versions plus récentes de rspec, c'est-à-dire rspec 2.0 et plus.
Voir le doco pour plus.
la source
expect
est meilleur ou pire quelambda
.expect { visit welcome_path }.to raise_error
La syntaxe a changé récemment et c'est maintenant:
la source
À partir de la version 3.3,
rspec-expections
gem émet un avertissement pour une erreur raise_error vide sans paramètreCela vous donne une indication que votre code peut échouer avec une erreur différente de celle du test destiné à vérifier.
la source