12

He seguido las instrucciones en http://blogs.msdn.com/b/vstsqualitytools/archive/2009/12/01/executing-unit-tests-in-parallel-on-a-multi-cpu-core-machine.aspx al pie de la letra y puedo ejecutar pruebas en paralelo.Pruebas de unidad de funcionamiento en más de cinco núcleos en paralelo

Hasta ahora todo bien.

Ahora el problema: no puedo establecer parallelTestCount en cero (configuración automática) o en un valor superior a 5. Ejecutar cinco pruebas paralelas funciona bien, pero no seis.

Sí, tengo más de cinco núcleos en mi máquina; Me estoy ejecutando en un procesador Intel i7 que tiene cuatro núcleos con hyperthreading lo que significa que debería poder ejecutar 8 pruebas en paralelo.

Ahora estoy seguro de que hay algunas otras limitaciones lógicas o difíciles y no espero poder ejecutar en ocho núcleos ocho pruebas vertiginosas en paralelo.

Sin embargo, sería genial saber el motivo por el que no se ejecutan más de cinco pruebas en paralelo?

+0

Cuando dice que no puede establecerlo en cero, ¿qué impide esto? ¿Recibes un mensaje de error? –

+0

Doh - ¡Olvidé decirlo! Cuando ejecuto las pruebas con la configuración en 0, obtengo una prueba que es "No ejecutada" y las otras 7 pasan inmediatamente a "Abortado". No hay más información Cuando lo configuro en 6 de manera curiosa, recibo dos pruebas que son "No Ejecutadas" y el resto son "Abortadas". Lo mismo con la configuración de 7. Con el ajuste a 8 me dan todas las pruebas de inmediato "Aborted". – noopman

+0

tal vez intente con un simple conjunto de pruebas que no hacen nada espectacular para que pueda averiguar si el problema está en las pruebas que está ejecutando o en el marco de prueba mismo. – obelix

Respuesta

6

Parece que esto es un error en MSTest. He tropezado con el mismo problema, todas las pruebas están marcadas como abortadas y hay un enlace "Error de ejecución de prueba" en la ventana Resultados de la prueba que, si hace clic, genera este mensaje: "La ejecución de prueba se cancela", el número de pruebas suspendidas excede máximo permitido '5' ".

Actualización: Se corrigió en el Service Pack de Visual Studio 2010.

+0

¡Puedo confirmar eso! ¡Parece que es VS lo que nos está cortando! – noopman

+1

Archivó un problema en Microsoft Connect aquí: https://connect.microsoft.com/VisualStudio/feedback/details/587386/running-more-than-five-tests-in-parallel-does-not-work –

1

Podría ser solo yo, pero hyperthreading no es un núcleo real, por lo que un i7 solo tiene 4 núcleos físicos, no 8. Tal vez tiene algo que ver con eso.

O tal vez haya alguna configuración de BIOS relacionada con la forma en que el SO puede evitar el hyperthreading que lo está impidiendo.

+0

Probablemente tenga razón, pero ¿cómo explica eso que puedo ejecutar fácilmente 5 pruebas y no solo cuatro? – noopman

+0

Supongo que, en teoría, el HT debería permitir más, pero quizás haya algo en la BIOS que limite cómo se pueden usar los HT y la configuración actual es lo que permite a VS hacer 5 pero no más y cambiarlo podría permitir más. – Peter

Cuestiones relacionadas