2009-10-14 13 views
14

Por razones que no entraré, todas nuestras pruebas unitarias están utilizando el marco de prueba VSTS. Ahora quiero crear un script de MSBuild que ejecute las pruebas, pero no quiero usar mstest.exe por varias razones (es más lento, requiere la instalación de Visual Studio en todas partes, necesito mantener testrunconfig, etc.)Ejecutando pruebas VSTS sin mstest.exe

He visto que TestDriven.net y TeamCity pueden ejecutar las pruebas de VSTS 'Estilo NUnit', sin usar mstest.exe. ¿Conoce alguna herramienta de línea de comandos independiente que haga esto?

+0

Esto también ha sido una molestia para mí, así que lo planteé como una solicitud de 'voz del usuario'. Si estás leyendo esto, y sientes con fuerza, ¿puedes votar por ello? https: //visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4619858-mstest-api –

Respuesta

19

puede ejecutar pruebas del sistema del equipo (MSTest) en NUnit si se utiliza un NUnit complemento especial que reconoce atributos de la Prueba de MS (TestClass, etc).

Exact Magic Software tiene un open-source "test-adapter" que puede hacer esto.

ACTUALIZACIÓN: He reelaborado el Adaptador NUnit de Exact Magic's Msts para NUnit 2.5.2.

+1

Parece que esto es lo que estoy buscando, solo que no funciona con la última versión de NUnit (2.5.2). Probé la versión en la que se supone que debe ejecutarse (2.4.6), pero parece que no funcionará en mi sistema (Windows 7). –

+0

A menudo, los complementos de NUnit están ligados al marco bajo el cual fueron compilados. Tiene que ver con la forma en que NUnit y el complemento resuelven las dependencias. Si proporcionan la fuente, debería poder recompilar con una referencia actualizada. Eso supone que no están haciendo algo específico con los ensamblados de núcleos 2.4.6, aunque en su mayor parte las interfaces principales no han cambiado mucho. Si encuentro el tiempo, podría intentarlo. – bryanbcook

+0

Empecé a buscarlo, parece que han realizado algunos cambios importantes en 2.5.2, por lo que sería necesario refactorizar para que el adaptador funcione. –

0

Es posible ejecutar MSTests sin instalar Visual Studio. Ver how-do-i-use-mstest-without-visual-studio.

Hice esto para poder ejecutar mis pruebas como parte de mi proceso de CI. (Estoy usando CC.NET para mi solución de CI).


estoy en una situación similar a la suya, en la que yo quiero usar TestDriven.NET para obtener las estadísticas de cobertura de código. Pero, estoy teniendo problemas. Mi primer problema es que estoy usando los atributos AssemblyInitialize para inicializar una conexión de base de datos. Esto no es compatible con NUnit, por lo que aproximadamente la mitad de mis pruebas fallan, mientras que funcionan bien en MSTest.

Por lo tanto, parece que traducir las pruebas de un marco de prueba a otro tiene dificultades. Si es consciente de eso, continúe, pero podría ser mejor tratar de mantener la coherencia en un marco de prueba.

+0

Gracias, soy consciente de poder ejecutar mstest.exe fuera de VS, pero no quiero usar MSTest en absoluto, debido a sus muchos problemas –

+0

Bien, entonces ¿puedes abandonar MSTest por completo? Convierte todas tus pruebas a NUnit? Simplemente parece que tener un entorno de prueba mixto es peor que MSTest por sí mismo. – quip

1

Parece que TeamCity simplemente está aprovechando Gallio para ejecutar pruebas VS. Gallio parece tener la integración msbuild y suena perfecto, pero después de un vistazo más de cerca, parece que sería necesaria una VS instalar al igual que MSTest ya que parece depender de MS exes:

The plugin enable condition was not satisfied: '${process:DEVENV.EXE} or 
${process:VSTESTHOST.EXE} or 
${process:QTAGENT.EXE} or 
${process:QTAGENT32.EXE} or 
${process:QTDCAGENT.EXE} or 
${process:QTDCAGENT32.EXE}'. 
Host process exited with code: 0 

eso se dice que suena al menos una persona tiene que trabajar:

Christoph De Baene - Running MSTest without Visual Studio

0

Corremos VSTS pruebas utilizando msbuild TestToolsTask en el servidor de control de crucero. Esto no utiliza el ejecutable MSTEST, la condición que usted solicita, pero sí utiliza una variedad de dependencias TFS.

Tenga en cuenta que estamos migrando pruebas fuera del marco de prueba de VSTS para NUnit, sobre todo porque podemos crear extensiones para NUnit para realizar tareas útiles.

Cuestiones relacionadas