Tengo una situación en la que estoy usando una prueba unitaria para ejecutar una herramienta externa que realiza una prueba. Puedo determinar a partir del código de salida de la herramienta si la prueba pasó, falló o se agotó el tiempo de espera.Programado el tiempo de espera de una prueba en MSTest
¿Hay algún modo en que pueda fallar la prueba de unidad que establecerá el tiempo de espera de la prueba en lugar de fallar?
He intentado lanzar una TimeoutException, pero esto tiene el mismo resultado que usar un Assert.
Edit: Estamos vinculando las pruebas de la unidad con casos de prueba en TFS. En Microsoft Test Center, una prueba en una ejecución de prueba puede tener muchos estados. Uno de los cuales es el estado de tiempo de espera. Estoy intentando suspender mi prueba para que se muestre correctamente en este estado y no se agrupe con los casos de prueba fallidos.
Si la prueba se basa en una herramienta externa para hacer un trabajo, entonces no es una prueba de unidad. Lo ideal es burlarse de la herramienta externa para que pueda probar * su * código, independientemente de si * su * código funciona como se esperaba. –
@Jamie: Eso es quisquilloso. Probablemente esté haciendo una prueba de integración pero (como muchas otras personas) lo llama prueba unitaria solo porque se ejecuta en un corredor de prueba. – erikkallen
Podría ser @erikkallen, sin embargo, también podría tener la intención de escribir esto como una prueba de unidad, pero no comprende completamente la burla o sabe que es algo que debe hacerse. En el caso de este último, mi comentario podría empujar al OP en una dirección útil, si no, no causar daño. –