Creé una unidad de prueba para una clase y pasó bien en mi local, en sonarqube se muestra como 0% para Cobertura, encontré una publicación de consejos para agregar coverlet.msbuild que agregué pero aún no tengo noticias:
<PackageReference Include="xunit" Version="2.4.1" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" /> <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.0" /> <PackageReference Include="coverlet.msbuild" Version="3.0.3"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> </ItemGroup>¿Alguna idea?
Intente agregar lo siguiente a su .csproj
<PropertyGroup> <DebugType>Full</DebugType> </PropertyGroup> <PackageReference Include="Microsoft.CodeCoverage" Version="16.9.4" />¿Puedes probar coverlet.collector en lugar de coverlet.msbuild ? Personalmente, he usado el colector de colchas varias veces con éxito.
<PackageReference Include="coverlet.collector" Version="1.3.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference>Según este problema de GitHub .
Los recopiladores son bastante nuevos (últimos en llegar) y son la mejor manera de hacer cobertura porque están estrictamente integrados con la plataforma vstest (dotnet test) y, debido a eso, es la opción predeterminada para cada proyecto .NET core xunit de Microsoft. Entonces, si crea un proyecto xunit, inyecte la plantilla xunit de Microsoft mediante el diseño de nuestro motor de cobertura como herramienta de cobertura de primera clase que se ejecuta con dotnet test --collect: "XPlat Code Coverage"
Es posible que se encuentre con este problema conocido .