visual-studio mstest build-server

¿Puedo usar mstest.exe sin instalar Visual Studio?



visual-studio build-server (6)

@crocpulsar, necesita instalar Visual Studio en su servidor de compilación, pero NO necesita comprar una licencia adicional .

Hay demasiadas dependencias para lograr que build y MSTest funcionen sin VS instalados, y definitivamente no es compatible.

Siempre que la persona que inicia la compilación tenga una licencia, no necesita una para el servidor de compilación. Este ha sido el caso desde los días oscuros de 2005, y mientras haya paridad de edición, entonces usted está bien.

Si todos en tu equipo tienen Ultimate, entonces eres libre de instalarlo en el servidor de compilación; pero si uno de los miembros de su equipo tiene Premium, entonces idealmente debe instalar Premium en el servidor de compilación. Esto también permite muchos otros bits como Cobertura de código, Análisis de impacto de prueba y Validación de arquitectura, entre otros.

Quiero usar mstest.exe para ejecutar mi prueba de unidad en el servidor de compilación, pero no quiero instalar Visual Studio en el servidor de compilación. ¿Puedo instalar MSTest sin Visual Studio?



Es posible ejecutar mstest.exe sin Visual Studio.
Descargue uno de los Agentes para ISO de Visual Studio a continuación e instale el Agente de prueba en el servidor:

Visual Studio 2017 (127 MB de espacio en disco, menos que eso para descargar)
Visual Studio 2015 (configuración de 128 MB, se requiere un espacio de disco de 2 GB)
Visual Studio 2012 (224MB)
Visual Studio 2013 (287MB)
Visual Studio 2010 (515 MB)

Esto instala todo lo necesario para ejecutar mstest.exe desde la línea de comandos y es mucho más ligero que Visual Studio. ~ 500mb de descarga y alrededor de ~ 300mb para instalar solo el agente de prueba si no recuerdo mal.

ACTUALIZAR

Para versiones anteriores a VS 2017, mira aquí:

https://www.visualstudio.com/vs/older-downloads/


Estos son los pasos que tomé para que mi servidor de compilación ejecute MsTest sin instalar VS 2012:

  1. Se creó la carpeta del directorio ''Mstest'' en c: / dev.
  2. Copiado ''Mstest.exe'' y ''Mstest.exe.config'' desde el directorio C: / Archivos de programa (x86) / Microsoft Visual Studio 11.0 / Common7 / IDE a ''Mstest''
  3. Copie Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll en el directorio ''Mstest''
  4. Directorio creado ''ensambles'' en la carpeta ''Mstest''
  5. Extraído todo v11 Microsoft.VisualStudio.QualityTools. *. Dlls de C: / Windows / assembly al directorio ''Mstest / assemblies''
  6. Copie todo ''v11'' Microsoft.VisualStudio.QualityTools. .dlls y Microsoft.VisualStudio.TestTools. .dlls desde C: / Windows / Microsoft.NET / assembly / GAC_MSIL a ''Mstest / assemblies''
  7. Copie todo v11 Microsoft.VisualStudio.QualityTools. .dlls y Microsoft.VisualStudio.TestTools. .dll desde C: / Archivos de programa (x86) / Microsoft Visual Studio 11.0 / Common7 / IDE / PrivateAssemblies a ''Mstest / assemblies''
  8. Agregue ''ensamblados'' al atributo ''privatePath'' de ''Mstest.exe.config''
  9. Exporte ''HKEY_LOCAL_MACHINE / SOFTWARE / Wow6432Node / Microsoft / VisualStudio / 11.0 / Enterprise / QualityTools y aplíquelo a la caja hudson.
  10. Copie QTAgent32.exe y QTAgent32.exe.config en el directorio ''MsTest'' desde C: / Archivos de programa (x86) / Microsoft Visual Studio 11.0 / Common7 / IDE
  11. Agregue ''ensamblados'' al atributo ''privatePath'' de en ''QTAgent32.exe.config''
  12. Copie ''msdia110.dll'' de ''C: / Archivos de programa (x86) / Microsoft Visual Studio 11.0 / Common7 / Packages / Debugger'' a ''MsTest / assemblies''
  13. Registre ''msdia110.dll'' con c: /windows/syswow64/regsvr32.exe / i ''../mstest/assemblies/msdia110.dll''(Esto arrojó un error, pero por alguna razón todavía funcionaba. Lo ejecuté un par veces y probado diferentes versiones de regsvr32.exe antes de comprobar, pero está allí en el registro)

  14. Agregue la variable de entorno ''MSTEST_HOME'' y establézcala en ''c: / dev / mstest /' o en su ruta. Usé la variable de entorno en mi script de compilación.

Depuración del error de ejecución de MsTest:

Agregar a ''MsTest.exe.config''

<system.diagnostics> <trace autoflush="true" indentsize="4"> <listeners> <add name="EqtListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:/MsTest.log" /> </listeners> </trace> <switches> <add name="EqtTraceLevel" value="Verbose" /> </switches> </system.diagnostics>


MSTest fue anunciado para usuarios de .NET Core . El anuncio tiene un ejemplo de uso con la herramienta de dotnet . No me he figurado cómo obtener el ejecutable mstest independiente.


Esta respuesta pertenece específicamente a Visual Studio 2017, y la respuesta es . Sin embargo, tenga en cuenta que Microsoft (todavía) no proporciona ningún tipo de API oficial para localizar los ejecutables relevantes ( MSBuild.exe y MSTest.exe ), por lo que está atascado leyendo claves de registro y / o explorando varios directorios para localizar estos archivos Has sido advertido.

  • Si solo necesita construir su (s) proyecto (s) de prueba unitaria, instale el paquete MSTest.TestFramework en esos proyectos y elimine de ellos la referencia a Microsoft.VisualStudio.QualityTools.UnitTestFramework . Ahora todo lo que necesita es instalar Visual Studio 2017 Build Tools e invocar msbuild.exe para realizar la compilación.
  • Si necesita ejecutar sus pruebas también, las cosas se vuelven más complicadas:
    • La solución más simple es instalar VS2017 Community Edition (que incluye tanto msbuild como mstest), pero no estoy seguro de la legalidad de esto, y no soy abogado, ¡así que ten cuidado!
    • Una solución legalmente más segura (y mucho más ligera, en términos de espacio en disco) es instalar el agente de prueba de Visual Studio 2017 y luego herramientas de compilación para Visual Studio 2017 (el orden exacto es vital 1 ); esto le dará MSTest.exe y vstest.console.exe que luego podrá llamar. Tenga en cuenta que realmente averiguar dónde residen estos ejecutables es un problema, ya que no existirán en la misma estructura de directorios que MSBuild.exe en herramientas de compilación.

Finalmente, y muy importante: si usa MSTest.TestFramework y aún necesita poder descubrir y ejecutar pruebas desde el Visual Studio IDE, también necesitará MSTest.TestAdapter instalado en su proyecto de prueba de unidad.

1: Si bien VS2017 admite instalaciones paralelas, usa una sola clave de registro que solo registra la instalación más reciente. Por lo tanto, si instala Test Agent por última vez, la clave apuntará a su directorio de instalación ... pero Test Agent no incluye MSBuild.exe , por lo que cualquier código que dependa de esta clave de registro para descubrir la ruta del ejecutable fallará. Microsoft adivina por qué Microsoft no podría haber convertido al agente de prueba en una parte opcional de las herramientas de compilación (para que todas las EXEs vivan en la misma jerarquía de directorios).