2008-09-08 12 views
17

Estamos utilizando VS 2008 Team System con el conjunto de pruebas automatizado, y al ejecutar las pruebas, el host de prueba se "bloquea aleatoriamente". De hecho, tengo que matar el proceso VSTestHost y volver a ejecutar las pruebas para que algo suceda, de lo contrario, todas las pruebas se encuentran en un estado "pendiente".Visual Studio 2008 "aleatoriamente" se cuelga en la ejecución de prueba

¿Alguien ha experimentado un comportamiento similar y conoce una solución? Tenemos 3 desarrolladores aquí que experimentan el mismo comportamiento.

+0

¿Alguna vez encontró una solución para este brocc? – Burt

+0

Se fue con un nuevo escritorio – programmer

+0

También corrí en ese tema hoy. Si VSTestHost.exe se bloquea con el 100%, pruebe este BugFix: http://stackoverflow.com/questions/1417021/vs2008-unit-test-pending-and-the-test-cannot-be-completed/1417154 –

Respuesta

2

Cuando dices bloquear, ¿te refieres a que VS está realmente colgado, o las pruebas no se ejecutan?

La manera más fácil de rastrear lo que está pasando sería mirar un volcado del proceso colgado. Si está en Vista, simplemente haga clic derecho en el proceso y elija crear un volcado de memoria. Si está en Windows XP y no tiene instalado el Debugging Tools for Windows, puede obtener un volcado de memoria usando ntsd.exe. Necesitará la identificación del proceso, que puede obtener del Administrador de tareas agregando la columna PID a la pantalla de la pestaña Procesos.

Una vez que tenga que ejecutar los siguientes comandos:

ntsd -p <PID> 
.dump C:\mydump.dmp 

A continuación, puede inspeccionar ese volcado utilizando WinDBG and SOS o si se puede publicar el vertedero en alguna parte que estaría feliz de tener una mirada en ella.

En cualquier caso, es probable que desee tomar dos vertederos con un minuto de diferencia. De esta forma, si haces cosas como! Fugitivo, puedes ver qué hilos están funcionando, lo que te ayudará a rastrear por qué está colgando.

Otra pregunta: ¿está en VS2008 SP1?

2

Intentaré ejecutar las pruebas desde la línea de comandos usando MSTest.exe. Esto podría ayudar a aislar el problema a Visual Studio, y al menos darle algún método para ejecutar las pruebas con éxito.

+0

Tengo este problema en VS2010. Funciona desde la línea de comandos, pero no en VS. –

4

Esto puede estar relacionado con un error oscuro que hace que las pruebas unitarias se cuelguen a menos que el nombre de la computadora sea MAYÚSCULAS. Loco, lo sé, pero tuve este problema y la solución funcionó para mí.

Bug report en MS Conectar
Workaround en MS Conectar
TFS Blog Article sobre este tema
HowTo editar el registro para cambiar el nombre del equipo

El método más sencillo consiste en modificar el registro. Necesita editar dos claves:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName 
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName 

Cambie el valor ComputerName a mayúsculas en ambas teclas, y reinicie. Las pruebas luego funcionan mágicamente.

+0

WTF? Eso es terrible. –

+1

Eso es lo que llamamos Epic Fail: D –

+0

Hmm, ambos están en mayúsculas conmigo, pero la prueba todavía cuelga :( –

Cuestiones relacionadas