ryanluker / vscode-coverage-gutters

Display test coverage generated by lcov and xml - works with many languages
https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters
MIT License
460 stars 88 forks source link

Accept .NET 7 coverage.json format #377

Closed Bonifatius94 closed 1 year ago

Bonifatius94 commented 2 years ago

Is your feature request related to a problem? Please describe. The new .NET 7 doesn't seem to accept MSBuild coverage flags like in .NET 6 when I call my xUnit tests like this:

dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=lcov /p:CoverletOutput=lcov.info

This only generates a coverage.json file instead of the lcov.info file.

Describe the solution you'd like Add support for parsing / converting the coverage.json file format in coverage gutters.

Describe alternatives you've considered Adding a middleware as a build job that does the conversion like this guy. But I really didn't like the thought.

Additional context I can provide a coverage.json file if you need to figure out what the format even is.

aburgett87 commented 1 year ago

Hey @Bonifatius94 this is an open issue .net 7.0-rc.1 and later. See https://github.com/microsoft/vstest/issues/4014. From the commentary on various issues this will be fixed before the release.

The workaround is to use environment variables.

Bonifatius94 commented 1 year ago

Hey @aburgett87, thanks for your reply 😉

Just for understanding, you're saying that the final .NET 7 MSBuild tooling will output a lcov.info like before and everything will be fine again?

Ok, that's a bit annoying, but I can live with that. Let's close the issue for now and I'll reopen it if the .NET 7 release does something different 😂

ryanluker commented 1 year ago

Thanks for the issue @Bonifatius94 and thanks for the extra info and workaround @aburgett87 (I am not familiar with the .Net space so I am glad you could assist!).

We can leave this closed for now but don't hesitate to reopen or create a new issue if the 7 release starts causing you issues.