Consejos sobre el marco de pruebas de .NET
-
08-06-2019 - |
Pregunta
Estoy buscando introducir un marco de pruebas unitarias en mi trabajo.Estamos usando Visual Studio 2005 (aunque es posible que pasemos a 2008 dentro de los próximos 6 meses) y trabajamos principalmente en C#.Si el marco tiene algún tipo de integración IDE, sería mejor, pero estoy abierto a marcos que no tienen integración pero que aún son relativamente simples de configurar.Voy a encontrar resistencia de una forma u otra, así que si puedo asegurarme de que lo que estoy empujando no sea un dolor de cuello, eso ayudaría en mi caso.
La elección obvia de la investigación que he realizado hasta ahora apunta a nUnit, pero me gustaría conocer las impresiones de alguien que realmente lo haya usado antes de recomendarlo a mi equipo.
¿Alguien ha usado nUnit?Si es así, ¿existen dificultades o limitaciones que debo tener en cuenta?¿Existen otras buenas opciones por ahí?Si es así, si ha utilizado ambos nUnit, agradecería mucho tener una idea de sus fortalezas y debilidades.
Solución
Creo NUnit
es su mejor apuesta.Con TestDriven.NET
, obtienes una gran integración dentro VS.NET
.(Resharper también tiene un ejecutor de pruebas unitarias si lo estás usando). NUnit
Es fácil de usar y sigue un paradigma establecido.También encontrarás muchos proyectos/tutoriales/guías usándolo, lo que siempre ayuda.
Su otra opción principal es probablemente MBUnit, que se posiciona cada vez más como el BDD
marco de elección (en conjunto con Galio http://www.gallio.org).
Otros consejos
Scott Hanselman tuvo un buen podcast sobre esto, titulado:
"El pasado, presente y futuro de los marcos de pruebas unitarias .NET"
:
La unidad de prueba incorporada en VS 2008
está bien, pero es difícil integrarse con CruiseControl.net
, ciertamente mucho más duro de lo normal NUnit
.
Así que ve con NUnit
si planeas tener buenas pruebas automatizadas.
Visual Studio 2008
tiene un tipo de proyecto de prueba incorporado que funciona de manera similar a NUnit, pero obviamente tiene una integración mucho más estrecha con Visual Studio
(se puede ejecutar en cada compilación y muestra los resultados de manera similar a la página de resultados de conversión cuando se actualizan los archivos de la solución), pero obviamente no es tan maduro como NUnit ya que es bastante nuevo y no estoy seguro de cómo maneja las burlas.
Pero valdría la pena investigarlo cuando su equipo se mude a VS2008
Hemos estado usando xUnit.net.Parece combinar todo lo mejor de nUnit
, mbUnit
y MSTest
.
Cuando comencé las pruebas unitarias, comencé con NUnit
Como es fácil de configurar y usar, actualmente estoy usando el ejecutor de pruebas integrado que viene con Resharper
, de esa manera puedo alternar fácilmente entre el código y los resultados de las pruebas.Por cierto NUnit
detecta cuándo ha compilado su código, por lo que no necesita realizar ninguna actualización en NUnit
. Resharper
automáticamente realiza una compilación cuando elige ejecutar una prueba específica.
VSTT 2010
Debería ser una buena apuesta si buscas automatización de pruebas funcionales.pruebas de servicios web, UI
pruebas, pruebas de Biztalk y soporte de pruebas basadas en datos.Por favor mira a VSTT
mbUnit
Vale la pena echarle un vistazo, tiene un conjunto de características comparables a NUnit
, tiene su propia GUI o puede integrarse en VS
si usted tiene Resharper
.Yo también recomendaría Rhino Mocks
si estás haciendo algún tipo de TDD
.
También diría que mbUnit, me gusta poder ejecutar una sola prueba muchas veces simplemente especificando las entradas y el resultado justo encima de la función de prueba.Horrible descripción de lo que quiero decir. Aquí hay un enlace que muestra lo que quiero decir.