2009-04-06 17 views
9

¿hay alguna manera? ¿Tengo que esperar para construir cada vez que empiezo la prueba? Quiero construir a partir de Visual Studio no de la pruebaejecutar pruebas en mstest sin compilación/construcción

gracias

+0

No estoy seguro de lo que está preguntando.Visual Studio siempre tiene que compilar su código antes de ejecutar las pruebas de su unidad porque sus pruebas son realmente solo .NET IL, como el código de su aplicación. –

+2

y qué pasa si compilo mi código y luego ejecuto la prueba 1,2,3,4 veces ... cada vez que MSTEST construye mi código de nuevo ... No quiero eso, quiero que mis pruebas sean lo más rápidas posible. .en alguna parte en la pila I rojo que nUnint puede hacer esto ... – Marko

+0

Estoy teniendo este problema de repente, también. – darasd

Respuesta

9

Cada vez que sus cambios de código y se ejecuta la prueba que se va a hacer una construcción ... por lo que técnicamente se puede ejecutar la prueba una y otra vez y solo construirán la primera vez, pero una vez que ejecutes tu prueba, ¿por qué los ejecutarás nuevamente sin hacer un cambio de código?

Un par de cosas que yo uso que hacen de su prueba de funcionamiento más rápido son:

  1. Active la casilla de "Sólo construir proyectos de puesta en marcha y dependencias en Run", que se encuentra Opciones-> Proyectos y Solución-> Construir y correr.

  2. Conozca las teclas de acceso directo
    a. "Ctrl + R, T" Ejecuta la prueba en el contexto actual, por lo que si su cursor está dentro de un método de prueba, solo ejecutará esa prueba, pero cuando lo haga dentro de una clase que no sea de prueba ejecutará toda su prueba.
    b. "Crtl + R, Ctrl + T" Prueba de depuración igual excepto depuración.
    c. Otros se pueden encontrar here, esos son 2008 si necesita hacer referencia a otros puede encontrarlos a través de google.

  3. Asegúrate de que la prueba no llame a la base de datos ni a otros recursos que requieran mucho tiempo, utiliza burlas y anotaciones.

  4. Ejecutar solo pequeños conjuntos de prueba, es decir, si estoy trabajando en una clase de servicio, solo ejecuto la prueba de clase de servicio.

Editar: La lectura de su pregunta de nuevo si se quiere construir y no de una prueba que se puede ir al menú y haga clic en Generar-> Generar solución o presione F6. También sería útil si indicó qué versión de Visual Studio está utilizando porque 2010 es diferente en el sentido de que debe hacer clic en Actualizar. De cualquier manera, ¿puedes aclarar?

+1

Puede volver a ejecutarlos si no esperaba un error, pero tenía uno, o si tenía un error y su punto de depuración lo había omitido, o algo parecido. – AHungerArtist

+0

Eso podría ser cierto ... Ejecutar una vez ver error, luego depurar para pasar. No pensé en ese escenario. – bytebender

+0

Estoy usando Visual Studio 2008. – Marko

2

Cualquier cambio en el código fuente causa la compilación, porque para ejecutar las pruebas VS necesita una DLL actualizada con las pruebas.

Si ya ha compilado el proyecto, puede ejecutar la prueba varias veces sin compilación.

PD: Ejecuto MSTest usando TestDriven.NET, porque para mí es más rápido.

0

Esta es una vieja pregunta, pero sigo viendo que la gente la pregunta y el problema sigue siendo cierto en VS2017, y también es cierto para otros marcos de pruebas (Xunit, etc.) que se ejecutan desde VS.

No sé cómo hacer que VS deje de construir todo el tiempo. Pero sí sé cómo eludir la compilación: ejecuta tus pruebas desde un corredor de la consola, no desde dentro de VS. Si está usando ReSharper, tiene uno.

Si no está utilizando ReSharper, para MSTest, puede comenzar aquí. https://msdn.microsoft.com/en-us/library/ms182489.aspx

Si no está utilizando ReSharper, para XUnit, puede comenzar aquí. https://xunit.github.io/docs/getting-started-desktop.html#add-xunit-runner-ref

Cuestiones relacionadas