Estaba tratando de usar OpenCover (descargado hoy) para obtener cobertura de mis pruebas. Aquí está la línea de comandos que he usado:Ningún resultado con opencover + xunit
OpenCover.Console.exe -target:"c:\Programmes2\xunit\xunit.console.clr4.x86.exe" -targetargs:"""C:\Sources\Project\BackOffice.Tests\bin\Debug\BackOffice.Tests.dll"" /noshadow " -output:bo.coverage.xml -targetdir:"C:\Sources\Project\BackOffice.Tests\bin\Debug" -filter:+[*]*
Y aquí está la salida consigo
xUnit.net console test runner (32-bit .NET 4.0.30319.269)
Copyright (C) 2007-11 Microsoft Corporation.
xunit.dll: Version 1.9.0.1566
Test assembly: C:\Sources\Project\BackOffice.Tests\bin\Debug\BackOffice.Tests.dll
31 total, 0 failed, 0 skipped, took 2.760 seconds
Committing...
No results - no assemblies that matched the supplied filter were instrumented
this could be due to missing PDBs for the assemblies that match the filter
please review the output file and refer to the Usage guide (Usage.rtf)
El informe generado es siempre el mismo:
contexto<?xml version="1.0" encoding="utf-8"?>
<CoverageSession xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Modules />
</CoverageSession>
Un poco más : Los PDB están presentes en la carpeta de destino, estoy ejecutando el símbolo del sistema como administrador. El proyecto probado es una aplicación .net 4/mvc 3. Mi computadora ejecuta Windows 7/32 bits. Sobre ese tema, no estoy seguro si eso es relevante de alguna manera, pero la carpeta x86 en el está vacía, incluso si obligo a la placa de destino a ser x86.
Además, cuando intento registrar OpenCover.Profiler.dll con regsvr32, aparece un error que dice que el dll puede no ser compatible con mi versión de Windows.
Si trato de usuario la -register o los -register: parámetros de usuario, consigo una excepción:
An exception occured: Failed to register(user:True,register:True,is64:False):3 the profiler assembly; you may want to look into permissions or using the -register:user option instead. C:\Windows\system32\regsvr32.exe /s /n /i:user "C:\Sources\Opencover\sawilde-opencover-be6e491\main\bin\Debug\x86\OpenCover.Profiler.dll"
stack:
à OpenCover.Framework.ProfilerRegistration.ExecuteRegsvr32(Boolean userRegistration, Boolean register, Boolean is64) dans C:\Sources\Opencover\sawilde-opencover-be6e491\main\OpenCover.Framework\ProfilerRegistration.cs:ligne 59
à OpenCover.Framework.ProfilerRegistration.ExecuteRegsvr32(Boolean userRegistration, Boolean register) dans C:\Sources\Opencover\sawilde-opencover-be6e491\main\OpenCover.Framework\ProfilerRegistration.cs:ligne 45
à OpenCover.Framework.ProfilerRegistration.Register(Boolean userRegistration) dans C:\Sources\Opencover\sawilde-opencover-be6e491\main\OpenCover.Framework\ProfilerRegistration.cs:ligne 31
à OpenCover.Console.Program.Main(String[] args) dans C:\Sources\Opencover\sawilde-opencover-be6e491\main\OpenCover.Console\Program.cs:ligne 82
También probé con un proyecto DLL (.net4) probado por un proyecto diferente (xUnit también), con el mismo resultado (falta de).
Cualquier ayuda apreciada!
Mirando el rastro de la pila usted mismo ha creado el código - ¿ha probado el lanzamiento oficial? –
Ok, ahora me siento bastante tonto porque ahora que lo mencionó pude encontrar la descarga Me sorprendió no encontrar uno la primera vez, pero como el archivo de lectura principal de la página [enlace] (https://github.com/sawilde/opencover#readme) acaba de mencionar que no he visto más que eso. Gracias por el puntero, lo intentaré de esa manera el próximo martes y actualizaré esta pregunta en consecuencia. –