Coverage: replace dotcover.xml with coverage.runsettings (net10) - #344
Merged
Conversation
JetBrains dotCover 2026.2 cannot generate a coverage report on .NET 10 (console runner hangs/crashes - DCVR-13230). The shared coverage action now runs dotnet test with the Microsoft Code Coverage collector, which supports net10 and emits cobertura for codecov. Replace dotcover.xml with a coverage.runsettings carrying the module/source exclusions, drop the obsolete xml-configuration input, and bump Microsoft.NET.Test.Sdk to 17.13.0 (older versions do not support cobertura output on net10).
Tests reference only InstallationValidator.Core; the InstallationValidator and SimulationOutputComparer assemblies are the UI/application layer and are not exercised by the test infrastructure. Exclude them as modules.
Yuri05
reviewed
Jul 25, 2026
Comment on lines
+17
to
+18
| <ModulePath>.*[\\/]InstallationValidator\.dll$</ModulePath> | ||
| <ModulePath>.*[\\/]SimulationOutputComparer\.dll$</ModulePath> |
Member
Author
There was a problem hiding this comment.
Those are actually not doing anything, they are excluded because they're WinForms projects, but they wouldn't be used anyway in the stats because the test assembly doesn't depend on them. I'll remove these.
InstallationValidator and SimulationOutputComparer are WinForms executables that reference InstallationValidator.Core (not vice versa) and are not referenced by the test project, so dotnet test never loads them and they never appear in the coverage report. Excluding them was a no-op.
Yuri05
approved these changes
Jul 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The scheduled coverage job cannot produce a report on net10. dotCover 2026.2.0 (the only version that instruments .NET 10) hangs/crashes in report generation (DCVR-13230, open); older versions cannot instrument net10.
Fix
Switch to
dotnet test+ the Microsoft Code Coverage collector (net10-capable, cobertura for codecov), driven by the shared action (Workflows#247). This repo:dotcover.xmlwithcoverage.runsettings(module/source exclusions preserved),xml-configurationinput,Verified the mechanism locally end-to-end on a net10 NUnit project.
🤖 Generated with Claude Code
Update — UI exclusion added. A second commit excludes the UI layer from coverage (Views/WinForms cannot be exercised by the test infrastructure), replacing the per-repo UI Views source exclude with a whole UI module exclude. This is on top of the test-assembly exclusion, so coverage reflects testable product code. Verified on net10 that the
*.UI.dllModulePath exclude drops the UI assembly from the report.IV note: there is no dedicated
*.UIassembly here — the untestable UI/application layer is theInstallationValidatorandSimulationOutputComparerassemblies (tests reference onlyInstallationValidator.Core), so those two modules are excluded.