Cómo hacer el manejo de excepciones con nunit y moq?
Pregunta
Estoy intentando Nunits uso nueva forma de gestión de excepciones, pero me resulta difícil encontrar información sobre ella y cómo utilizar también con moq.
que tengo ahora moq que produce una excepción en un método burlado, pero no sé cómo utilizar nunit para cogerlo y mirada en ella.
Solución
Hay algunas maneras diferentes de hacerlo; Yo uso Assert.Throws.
var exception = Assert.Throws<YourTypeOfException>(()=> Action goes here);
por ejemplo.
var exception = Assert
.Throws<ArgumentNullException>(()=> new ChimpPuncher(null));
A continuación, puede consultar el objeto de excepción aún más si lo desea, por ejemplo.
Assert.That(exception.Message, Text.Contains("paramname");
Otros consejos
La mejor manera de mención es:. [ExpectedException(typeof(ApplicationException))]
por encima del método de prueba
¿Por qué no se puede encerrar la llamada al método imitó en un bloque try / catch y detectar la excepción específica que es lanzado?