Comment faire la gestion des exceptions avec nunit et moq?
Question
Je suis en train d'utiliser Nunits nouvelle façon de la gestion des exceptions, mais je trouve qu'il est difficile de trouver des informations sur lui et comment l'utiliser aussi avec moq.
J'ai en ce moment moq qui jette une exception sur une méthode moqué, mais je ne sais pas comment utiliser nunit pour attraper et regarder.
La solution
Il y a plusieurs façons de le faire; J'utilise Assert.Throws.
var exception = Assert.Throws<YourTypeOfException>(()=> Action goes here);
par exemple.
var exception = Assert
.Throws<ArgumentNullException>(()=> new ChimpPuncher(null));
Vous pouvez ensuite interroger l'objet d'exception plus loin si vous voulez, par exemple.
Assert.That(exception.Message, Text.Contains("paramname");
Autres conseils
La meilleure façon de parler est:. [ExpectedException(typeof(ApplicationException))]
au-dessus de la méthode d'essai
Pourquoi ne pas joindre l'appel de méthode moqué dans un bloc try / catch et attraper l'exception spécifique étant jeté?