2010-07-13 8 views

Respuesta

12

Usted puede decorar su unidad de prueba con el atributo [ExpectedException]:

[ExpectedException(typeof(ArgumentException))] 
[TestMethod] 
public void Foo() 
{ 
    throw new ArgumentException("foo"); 
} 

No le pida a pesar de afirmar el mensaje de excepción :-)

+0

Por lo tanto, ¿por qué las pruebas de unidades no deberían probar más de una cosa? ¿Qué sucede si haces un Try/Catch y luego procesas la excepción atrapada con un Assert? –

+1

Bueno, por supuesto que podrías hacer eso, pero en este caso escribirás, déjame contar, 7 líneas más de código (probablemente un poco menos si pones el '{' en la misma línea), y cada línea de código tu escribes está ocultando un error potencial y disminuyendo la legibilidad del código, entonces ¿por qué hacerlo cuando puedes evitarlo ?-) –