2009-09-15 17 views
12

Resharper Unit Test Runner se ejecuta significativamente más lento que nunit-console o nunit gui.Resharper Unit Test Runner significativamente más lento que la consola NUnit

Por ejemplo, las pruebas 3800 tardan poco más de 60 segundos a través de nunit-console, pero esas mismas pruebas toman más de 5 minutos para ejecutarse en el corredor de prueba de la unidad Resharper. ¿Por qué una diferencia tan significativa?

Dado que nuestra base de código de prueba ha crecido significativamente, esto realmente está empezando a ralentizarnos. ¿Alguien más ha tenido problemas similares? ¿Cómo ha lidiado con ello?

La integración de Resharper Visual Studio es realmente agradable, sin embargo, podríamos necesitar recurrir a otra cosa.

+2

En mi experiencia * la mayoría de las cosas * son más lentas cuando se usa Resharper, lo cual es una lástima, porque aparte de eso, es un gran complemento ... –

Respuesta

14

Tuve el mismo problema y cambié a TestDriven.Net, es muy rápido.

+1

+1 para TestDriven.NET de Jamie Cansdale. Es una súper pieza de software. Sin embargo, considero que el corredor de pruebas de Resharper es satisfactorio cuando se ejecutan pequeños bancos de pruebas. –

+0

vs2010 corredor de prueba interna también es muy rápido. Lástima que no funciona con nunit :( – andrecarlucci

+1

Solo mis 2cents, pero a parte de TestDriven.Net, también hay NCrunch para este tipo de cosas, y es, en mi humilde opinión, una herramienta imprescindible junto con el reafilador. – pms1969

8

No creo que el objetivo de Resharper fuera proporcionar una utilidad para ejecutar un conjunto de pruebas completo desde Visual Studio. Ese suele ser el objetivo de un servidor de compilación o servidor de prueba que ejecute herramientas de integración continua (como NUnit lanzado desde CruiseControl)

El corrector de prueba de la unidad Resharper parece aprovechar mejor ejecutando pequeños conjuntos de pruebas unitarias para diagnosticar y satisfacer una unidad en particular de código. Le permite crear suites de pruebas enfocadas que pueden ejecutarse convenientemente desde el estudio, depuradas, repetidas y analizadas rápidamente sin tener que esperar las compilaciones.

Recomendaría aprovechar un servidor de compilación para ejecutar el conjunto completo de pruebas.

+8

Estamos usando un servidor de compilación para ejecutar las pruebas, pero nuestra política aquí es hacer todo lo posible para no romper la compilación antes de realizar cambios. Por lo tanto, normalmente ejecutamos todas las pruebas unitarias antes de una confirmación. – jamesaharvey

+0

El rastreador de prueba de R # es muy útil para una rápida Para evitar romper la compilación, puede usar algo como las opciones de Build Personal o Pre-Commit de TeamCity. Consulte http://www.jetbrains.net/confluence/display/TCD4/Personal+Build. Opcionalmente, simplemente ejecute NUnit desde Tools menú – TrueWill

+6

Aprovechar un servidor de compilación para ejecutar el conjunto completo de pruebas es una idea terrible. Produce muchas compilaciones rotas e invalida por completo el despliegue continuo. Actualice, pruebe todo y luego confirme. – andrecarlucci

Cuestiones relacionadas