En el comentario a esta gran publicación , Roy Osherove mencionó el proyecto OAPT que está diseñado para ejecutar cada afirmación en una sola prueba.
Lo siguiente está escrito en la página de inicio del proyecto:
Las pruebas unitarias adecuadas deberían fallar exactamente por una razón, es por eso que debería usar una afirmación por prueba unitaria.
Y, también, Roy escribió en comentarios:
Mi pauta generalmente es que pruebe un CONCEPTO lógico por prueba. puede tener múltiples afirmaciones en el mismo objeto . generalmente serán el mismo concepto que se está probando.
Creo que hay algunos casos en los que se necesitan múltiples afirmaciones (por ejemplo , la Afirmación de la Guardia ), pero en general trato de evitar esto. ¿Cuál es tu opinión? Proporcione un ejemplo del mundo real donde realmente se necesitan múltiples afirmaciones .
RowTest
afirmaciones en lugar de (MbUnit) / TestCase
(NUnit) para probar una variedad de comportamientos de casos extremos. ¡Use las herramientas adecuadas para el trabajo! (Desafortunadamente, MSTest no parece tener una capacidad de prueba de fila todavía.)
RowTest
y TestCase
utilizar fuentes de datos de prueba . Estoy usando un archivo CSV simple con gran éxito.