Aquí está mi experiencia con MS Test
- Estamos ejecutando MS Test con alrededor de 3800 Test.
- Las pruebas tardan mucho en comenzar a ejecutarse, lo cual es doloroso cuando se ejecutan pruebas individuales.
- Se necesitan alrededor de 1 GB de memoria para ejecutar las pruebas. No, no se debe a pérdidas de memoria en nuestras pruebas. Con frecuencia nos encontramos con OutOfMemoryExceptions.
- Debido a que usa tantos recursos, estamos comenzando a ejecutar las pruebas desde archivos por lotes. Entonces, ¿para qué sirve toda la integración?
- Tiene errores e inestable:
- Por ejemplo, si elimina el atributo [Ignorar] de una prueba, no lo reconoce, porque almacena en caché información sobre las pruebas en algún lugar. Debe actualizar la lista de pruebas, que a veces resuelve el problema, o reiniciar VS.
- No copia aleatoriamente ensamblados de referencia al directorio de salida.
- Los elementos de implementación (archivos adicionales que se utilizarán) simplemente no funcionan correctamente. Se ignoran al azar.
- Hay información oculta (no visible en el código de prueba) en los archivos vsmdi y testrunconfig. Si no le importa, es posible que no funcione.
- Funcionalmente, podría ser comparable a NUnit, pero es muy costoso si considera usar la edición VS tester.
Además: tenemos algunas pruebas más ahora, ni siquiera puedo decir cuántas. Ya es imposible ejecutarlos todos desde Visual Studio, debido a OutOfMemoryExceptions y otros problemas de inestabilidad. Ejecutamos las pruebas a partir de scripts. Sería fácil ver los resultados de las pruebas en Visual Studio, pero cuando la solución está abierta, VS se bloquea (siempre). Por lo tanto, debemos buscar las pruebas que fallaron mediante la búsqueda de texto. Ya no hay ventaja de una herramienta integrada.
Otra actualización : estamos usando VS 2013 ahora. Muchas cosas cambiaron. Reescribieron el corredor de pruebas de MS Test por tercera vez desde que comenzamos. Esto provocó muchos cambios importantes, pero ninguna de las versiones nuevas estaba haciendo nada mejor. Nos alegra no haber utilizado las funciones sofisticadas de MS Test, porque ya no son compatibles. Realmente es una pena. Todavía estamos usando scripts para construir y ejecutar todas las pruebas unitarias, porque es más práctico. Visual Studio requirió unos minutos para comenzar a ejecutar las pruebas (el tiempo se mide después de la compilación hasta que comienza la primera prueba). Probablemente lo solucionen con una actualización y esto podría ser un problema específico de nuestro proyecto. Sin embargo, Resharper es mucho más rápido cuando ejecuta las mismas pruebas.
Conclusión : al menos en combinación con Resharper, MS Test es útil. Y espero que finalmente descubran cómo se debe escribir el ejecutor de pruebas y no harán este tipo de cambios importantes cuando actualicemos Visual Studio la próxima vez.