.net - unitarias - unit test c# visual studio 2013
¿Cómo hacer que TeamCity ejecute pruebas utilizando MSTest? (1)
Estoy tratando de averiguar cómo hacer que TeamCity ejecute mis MSTests. He configurado un paso de compilación utilizando los siguientes parámetros:
- Ruta a MSTest.exe: % system.MSTest.10.0%
- Listar archivos de ensamblaje: Projects / Metadude. .Tests / bin / Debug / Metadude. .Test.dll
- MSTest ejecutar el archivo de configuración: Local.testsettings
Sin embargo, cuando se ejecuta este paso, no ejecuta ninguna prueba. Esta es la salida del registro:
[02:13:49]: Step 2/2: Run Unit Tests (MSTest)
[02:13:49]: [Step 2/2] Starting: "D:/Program Files (x86)/TeamCity/buildAgent/plugins/dotnetPlugin/bin/JetBrains.BuildServer.NUnitLauncher.exe" #TeamCityImplicit
[02:13:49]: [Step 2/2] in directory: D:/Program Files (x86)/TeamCity/buildAgent/work/1f82da3df0f560b6
[02:13:50]: [Step 2/2] Microsoft (R) Test Execution Command Line Tool Version 10.0.30319.1
[02:13:50]: [Step 2/2] Copyright (c) Microsoft Corporation. All rights reserved.
[02:13:50]: [Step 2/2]
[02:13:50]: [Step 2/2] Please specify tests to run, or specify the /publish switch to publish results.
[02:13:50]: [Step 2/2] For switch syntax, type "MSTest /help"
[02:13:50]: [Step 2/2] Process exited with code 1
[02:13:50]: Publishing internal artifacts
[02:13:50]: [Publishing internal artifacts] Sending build.finish.properties.gz file
[02:13:50]: Build finished
He intentado especificar las pruebas para ejecutar usando lo siguiente:
- Pruebas: Tests.Metadude.Core.Extensions.StringExtensionsTests
Pero eso no funciona. Parece que no puedo encontrar ninguna documentación en google relacionada con el paso de compilación MSTest en TeamCity.
ACTUALIZACIÓN Ok, soy un idiota. Bueno, eso podría ser un poco duro, pero al ensamblaje de prueba le faltaba una "s" del nombre del ensamblaje. Sin embargo, hubiera sido bueno conseguir algo en ese sentido en el registro de compilación.
En primer lugar, asegúrese de que el ensamblaje que está intentando probar existe en esa ubicación.
es decir
su ruta relativa: Projects / Metadude..Tests / bin / Debug / Metadude..Test.dll
Sin embargo, esperaría algo registrado por TC si su archivo no existiera. Parece que está ejecutando MSTest
sin ningún argumento de alguna manera.
Si está seguro de que la ruta es correcta, inténtelo sin especificar el archivo .testsettings
para ver qué sucede. Estoy usando MSTest exitosamente en TC sin esto (pero es posible que lo necesites). La otra cosa que estoy haciendo diferente es que especifico la ruta completa a MSTest.exe
, es decir
C: / Archivos de programa / Microsoft Visual Studio 10.0 / Common7 / IDE / MSTest.exe
en lugar de su variable ''%system.MSTest.10.0%''
No puedo recordar por qué hice esto, pero habría habido una buena razón (como si no funcionara al usar su variable)