unit testinitialize test framework features expected and visual-studio unit-testing nunit visual-studio-2013 mstest

testinitialize - Visual Studio 2013 MSTest vs NUnit



xunit testinitialize (2)

MSTest Vs NUnit:

  1. MSTest está integrado con VS por lo que será fácil de usar. NUnit requerirá herramientas de terceros (algunas son gratuitas, otras se pagan).
  2. VS le brindará cobertura de código en MSTest. NUnit requiere DotCover (que es una herramienta de pago).
  3. MSTest tiene la opción de ejecutar sus pruebas en paralelo si no dependen el uno del otro. Esta no es una característica que proporciona NUnit.
  4. NUNit tiene TestCaseSourceAttribute que le ayuda a lograr casos de prueba parametrizados, pero en MSTest necesitará DataSourceAttribute que estaría en un archivo xml y será difícil de administrar cuando tenga una lógica compleja en el método.
  5. NUnit es más rápido en comparación con MSTest.

En general, ambos marcos son buenos de usar, pero sugeriría ir a NUnit.

Mi empresa está actualizando nuestro Visual Studio 2012 a 2013 Premium. En medio de esto, también estamos buscando comenzar a automatizar nuestras pruebas usando Visual Studio Team Services

He leído un par de publicaciones y artículos de MSTest vs nUnit en el pasado, pero la mayoría de ellos compara la versión anterior de MSTest. Además, nUnit tuvo muchas críticas favorables en comparación con MSTest.

Mi pregunta es, considerando el compromiso de Microsoft hacia ALM, las prácticas ágiles y todo lo nuevo que han agregado a VS2013 Premium y Visual Studio Team Services para facilitar y fomentar las pruebas automatizadas, ¿cómo se compara MSTest con nUnit?

¿Qué otras consideraciones debo tomar antes de tomar una decisión sobre un marco de prueba para usar?


MSTest no ha cambiado mucho desde que se introdujo originalmente, por lo que las antiguas publicaciones de comparación siguen siendo válidas. El enfoque de Microsoft en ALM está principalmente dirigido a herramientas adicionales y productos de servidor, pero el marco de prueba fundamental no ha cambiado mucho.

También vale la pena observar que MSTest y toda su estrategia ALM están dirigidos a muchos estilos diferentes de pruebas automatizadas, que incluyen Pruebas de integración, Pruebas de sistema, Pruebas de rendimiento, etc., así que, aunque intenta ser un tamaño único para todos, es bastante inadecuado para las pruebas unitarias, porque es demasiado pesado para trabajar.

Mientras que NUnit es mejor, tampoco lo recomendaría. Tampoco ha cambiado mucho durante años, y el modelo de extensibilidad es francamente un desastre.

En cambio, recomendaría xUnit.net . Aunque tampoco es perfecto, actualmente es la mejor alternativa principal en .NET. Hay muchas razones por las que xUnit.net es mejor que MSTest .