Wie Ausnahmebehandlung mit nunit und moq zu tun?
Frage
Ich versuche zu verwenden nunits neue Art der Ausnahmebehandlung, aber ich finde es schwer, Informationen über sie zu finden und wie sie auch verwenden, um mit moq.
Ich habe jetzt moq, die eine Ausnahme auf einer verspottet Methode wirft, aber ich weiß nicht, wie nunit, es zu benutzen und Blick auf sie zu fangen.
Lösung
Es gibt ein paar verschiedene Möglichkeiten, es zu tun; Ich benutze Assert.Throws.
var exception = Assert.Throws<YourTypeOfException>(()=> Action goes here);
z.
var exception = Assert
.Throws<ArgumentNullException>(()=> new ChimpPuncher(null));
Sie können dann abfragen, um das Ausnahmeobjekts weiter, wenn Sie möchten, z.
Assert.That(exception.Message, Text.Contains("paramname");
Andere Tipps
Der beste Weg, zu erwähnen ist. [ExpectedException(typeof(ApplicationException))]
über dem Testverfahren
Warum können Sie nicht den nachgeahmten Methodenaufruf in einem try / catch-Block umschließen und die spezifische Ausnahme abfangen geworfen zu werden?