2012-08-27 12 views
5

Quiero escribir una prueba unitaria para detectar una excepción lanzada. Utilizando ExpectedExceptionAttribute, ejecuto la prueba desde dentro de MSVS y cuando TestMethod coincide con la excepción, el depurador se rompe con la excepción pero el Método de prueba omite correctamente e informa Aprobado.Evitar que VS C# Unit Testing se rompa con las excepciones

¿Hay un indicador que le indique a VS que no se rompa durante la prueba unitaria?

Respuesta

11

No ejecute las pruebas en una sesión de depuración. Usted tiene la opción de 'Ejecutar selección' o 'Selección de depuración', elija la primera y debería estar bien.

+0

@Jake Uso ctrl + F5 en este escenario, que es lo mismo que ejecutar la selección (sin depuración) – ChrisBint

+0

Sí, me di cuenta de que mi CTRL no estaba funcionando. Así que borré mi comentario anterior. Después de leer su respuesta, encontré el menú "Prueba", así que pensé que tenía que salir corriendo de allí. Gracias. – Jake

4

Si presiona CTRL + ALT + E puede configurar si el depurador se romperá cuando se lanzan y/o no se manejan diferentes tipos de excepciones.

He encontrado que usar estas configuraciones es muy útil a veces.

+0

Hay muchas opciones (casillas de verificación) en ese diálogo (Depurar: Excepciones). Descubrí que solo necesito desmarcar el cuadro de Excepciones de tiempo de ejecución de Common Language (línea) (columna). Estoy de acuerdo en que otra opción es ejecutar sin el depurador, pero a veces desea ejecutar con el depurador por alguna razón. Por lo tanto, esta es una buena opción cuando necesita usar el depurador y no quiere romper las excepciones de primera oportunidad. – steve