Come fare la gestione delle eccezioni con NUnit e moq?
Domanda
Sto cercando di utilizzare nunits nuovo modo di gestione delle eccezioni, ma mi sto trovando difficoltà a trovare le informazioni su di esso e su come utilizzare anche con moq.
ho in questo momento moq che genera un'eccezione su un metodo deriso, ma non so come utilizzare NUnit per catturare e vedere le cose.
Soluzione
Ci sono diversi modi per farlo; Io uso Assert.Throws.
var exception = Assert.Throws<YourTypeOfException>(()=> Action goes here);
per es.
var exception = Assert
.Throws<ArgumentNullException>(()=> new ChimpPuncher(null));
È quindi possibile interrogare l'oggetto eccezione ulteriormente se si desidera, per esempio.
Assert.That(exception.Message, Text.Contains("paramname");
Altri suggerimenti
Il modo migliore per menzionare è:. [ExpectedException(typeof(ApplicationException))]
sopra il metodo di prova
Perché non si può racchiudere la chiamata al metodo deriso in un blocco try / catch e intercettare l'eccezione specifica di essere gettato?