Comment jeter l'exception en nouvelle-rhino se moque de 3.5
Je suis à l'aide de rhino se moque de 3,5 et suis en train de lancer une exception dans mon attente pour tester certaines fonctionnalités dans mon bloc catch.
Mais pour une raison quelconque, il n'est pas jeter l'exception.
_xyz.stub(x => x.function(string)).throw(new exception("test string"));
Donc, je suis à déraciner l'appel à la fonction à jeter l'exception, mais il n'est pas jeter l'exception.
OriginalL'auteur alice7 | 2010-01-05
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas pourquoi il ne fonctionne pas pour vous. J'ai créé un petit échantillon et il fonctionne très bien pour moi. Regardez ce code:
J'ai d'abord créé le code que je veux tester.
Prochaine je vais créer une méthode de test. Dans ce cas, je suis en utilisant MbUnit, mais il devrait fonctionner avec n'importe quel framework de test unitaire.
J'espère que cette aide.
OriginalL'auteur Vadim
Il semble que si la méthode que vous souhaitez lancer une exception a des paramètres, alors vous devez ajouter
.IgnoreArguments()
avant la.Throw(new Exception())
.Par exemple, j'ai trouvé que la suite ne serait PAS jeter l'exception:
Mais les suivantes:
En raison de Vadim exception des jets de méthode sans paramètre, il a travaillé sans ignorer les arguments.
OriginalL'auteur Lisa
Vous pouvez avoir besoin d'afficher plus d'informations et plus de votre code source. Ma première hypothèse serait que la méthode que vous cogner n'est jamais touché à la consommation.
Comme vous avancez dans le code, est-ce l'endroit où _xyz.fonction(string) est utilisé se faire frapper?
OriginalL'auteur Phil Sandler
La solution pour moi a été la suivante:
Note le
.IgnoreArguments()
appel.OriginalL'auteur frantisek