visual unitarias unit test studio pruebas mvc ejemplo .net unit-testing nunit

.net - test - pruebas unitarias c# visual studio 2017



Crear dinámicamente pruebas en NUnit (4)

He encontrado una manera que se ajusta a mis propósitos

Tener un caso de prueba y marcarlo con el atributo TestCaseSource como tal

[Test, TestCaseSource("GetTestCases")] public void TestFile(string filename) { //do test }

Luego escriba GetTestCases para leer todos los nombres de archivo en el directorio

private static string[] GetTestCases() { return GetAllFilesInCurrentDirectory(); }

Luego, cuando inicio NUnit, obtengo una lista de las pruebas que se ejecutarán (listadas en TestFile).

Usando Nunit, quiero poder escribir un accesorio de prueba que leerá todos los nombres de archivo en un directorio particular y creará una prueba para cada archivo.

Podía escribir fácilmente un método de prueba que escanea el directorio y simplemente hace todas las pruebas, pero cuando ejecuto NUnit, quiero poder ver cada una de las pruebas de forma individual.

¿Esto es posible?



Sé que esto es un poco oscuro, pero he utilizado un script en el pasado para generar código para mí, que luego puedo ejecutar como casos de prueba individuales.


Si no va a agregar archivos a ese directorio a lo largo del tiempo y tiene un conjunto de nombres para pasar como entrada a una prueba genérica, intente usar la extensión RowTest NUnit (parte de std distrib post v2.4.7) - Usted Sería capaz de ver cada caso de prueba - combinación de entrada individualmente en la GUI agrupada en un solo nodo.

Si va a agregar archivos a ese directorio, escribiría un único NUnit TestCase que recorre una lista de archivos obtenidos en tiempo de ejecución y llama al método de prueba genérico con cada ruta de archivo. Use un parámetro de recopilación para recopilar los nombres de los archivos de prueba fallidos, al final de su afirmación. No podría ver cada caso de prueba individualmente, pero tendría un código de prueba simple y legible.

Assert.AreEqual(listOfFailedFiles.Length, 0, PrettyPrint(listOfFailedFiles))