c# - mac - DotCover en TeamCity 8 no funciona
resharper mac (4)
Intento ejecutar dotCover con mis pruebas NUnit, en TeamCity 8 como un paso de compilación. Pero no importa lo que intento, siempre obtengo el mismo error en el archivo de registro:
Paso 4/4: Cobertura (NUnit) (1s)
[Paso 4/4] Iniciando: C: / TeamCity / buildAgent / plugins / dotnetPlugin / bin / JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit
[Paso 4/4] en el directorio: C: / TeamCity / buildAgent / work / 6aee0f0d2626793d
[Paso 4/4] ## teamcity [importData type = ''dotNetCoverage'' tool = ''dotcover'' file = ''C: / TeamCity / buildAgent / temp / buildTmp / coverage_dotcover3226256377023598081.data'']
[Paso 4/4] Importar datos de ''C: / TeamCity / buildAgent / temp / buildTmp / coverage_dotcover3226256377023598081.data'' con el procesador ''dotNetCoverage''
[Paso 4/4] Archivo de informe de cobertura rechazada: C: / TeamCity / buildAgent / temp / buildTmp / coverage_dotcover3226256377023598081.data size: 0. El archivo está vacío o no existe
[Paso 4/4] Proceso salió con el código -2146232576
[Paso 4/4] Falló la cobertura del paso (NUnit)
He intentado usar tanto el incluido en TeamCity dotCover como el instalado por separado, pero ambos están fallando con el mismo error.
Mi configuración:
Si elijo ninguna herramienta de cobertura, las pruebas funcionan bien por sí mismas. Pero con dotCover seleccionado siempre obtengo el mismo error.
Cualquier ayuda aquí sería muy apreciada.
Probablemente sea porque está ejecutando esto en el agente de compilación sin .NET 3.5 (pero con 4.0). Es fácil de verificar porque obtendrá una excepción justo después de ejecutar dotCover.exe en este agente. Instale .NET 3.5 (usando el Administrador del servidor en el caso de Windows más reciente).
Lo siguiente es que hay otro error con dotCover en TeamCity 8. Necesitará usar la instalación de prueba dotCover hasta que lo arreglen (y ponga la ruta al dotCover instalado en la configuración del paso de compilación).
Solucionó el problema en mi caso.
Consulte: http://confluence.jetbrains.com/pages/viewpage.action?pageId=49448495
En el caso de TeamCity DotCover interno, debe agregar los derechos de acceso de lectura "TODOS LOS PAQUETES DE APLICACIÓN" a la carpeta de instalación de TeamCity. Si usa un DotCover externo, agregue los derechos allí.
Esto corrigió el problema para mí, por ahora.
Curiosamente, al menos para mí, me funcionó una vez que deshabilité la cobertura de código (es decir, no seleccioné un elemento en la lista desplegable de herramientas de cobertura .NET ) y ejecuté la compilación. Cuando volví a habilitar la cobertura del código, funcionó (sin ningún otro cambio en nada en TeamCity o en el servidor de compilación). ¡Extraño!
Actualmente estoy ejecutando TeamCity versión 8.0.4 (compilación 27616).
Esto es similar a mi problema, donde NUnit no se ejecuta cuando dotCover está habilitado.
Lo resolví estableciendo .NET Runtime: Platform: como x86 en el menú desplegable de configuración y creo que el error se debe a que team city no puede determinar cuál es la plataforma correcta.