2010-03-11 15 views
11

Con el framework que tiene Visual Studio 2008, ¿me falta algo genial al NO usar una herramienta externa como NUnit? Por lo que puedo decir, parece que el uso de NUnit sería más complicado al crear clases y métodos de prueba manualmente que al hacer clic con el botón derecho, ser nativo del IDE. Dicho esto, ¿me faltan características que NUnit proporciona que VS no contiene? Tener una GUI simple para que mi gente de QA tenga acceso está bien y todo, pero usando nAnt y las dependencias de compilación en las pruebas de unidades que pasan, ¿me faltan características geniales?¿Existen diferencias reales entre NUnit y el Unit Testing Framework (VS 2008) de Microsoft?

+0

Las respuestas a esta pregunta pueden ser útiles: http://stackoverflow.com/questions/92869/nunit-vs-visual-studio-2008s-test-projects-for-unit-testing –

Respuesta

12

Roy Osherove acaba de escribir un reciente blog post que resume las diferencias entre NUnit y MSTest. Creo que responde tu pregunta

Concluye que NUnit gana para Pruebas unitarias, pero MsTest tiene habilidades mucho mejores para las pruebas basadas en la integración y las pruebas en equipo con Team System.

+0

@Paddyslacker: En ninguna parte en la publicación del blog de Roy hace declaraciones al hecho de que "NUnit es muy superior para las verdaderas pruebas unitarias". –

+0

Se reparó la conclusión para que coincida con el título de la publicación del blog. Gracias por mantenerme honesta, Scott! – Paddyslacker

+0

Son realmente más o menos lo mismo en mi humilde opinión. –

1

Uso MSTest en el trabajo porque tengo que hacerlo, y para ser honesto, lo encuentro lento e irritante. Si tuviera mi elección, sería xunit.net (básicamente como nunit, un poco menos detallado) + el corredor de pruebas de resharper para la integración de IDE.

4

He usado tanto NUnit como MSTest. Sí, hay diferencias. NUnit es un marco de prueba unitario más antiguo y más establecido, diseñado para hacer exactamente una cosa: prueba unitaria. MSTest es más nuevo, por lo que no tiene el mismo nivel de madurez en su API. Por ejemplo, NUnit ofrece más métodos de Assert que MSTest. (Consulte http://geekswithblogs.net/sdorman/archive/2009/01/31/migrating-from-nunit-to-mstest.aspx para obtener más información. Para agregar algunos de los métodos Assert faltantes, vea http://geekswithblogs.net/sdorman/archive/2009/01/31/adding-custom-assertions-to-mstest.aspx).

No he encontrado realmente el rendimiento como un problema en ninguno de los frameworks.

Algunas de las diferencias más grandes son:

  • MSTest requiere una instancia de Visual Studio en el servidor de compilación con el fin de ejecutar. No contiene un corredor de prueba independiente como NUnit.
  • MSTest proporciona los resultados de la prueba de código y directamente en Visual Studio. NUnit proporciona resultados de pruebas en su propia IU y requiere herramientas adicionales para realizar análisis de cobertura de códigos.