Skip to content
This repository was archived by the owner on Nov 15, 2021. It is now read-only.
This repository was archived by the owner on Nov 15, 2021. It is now read-only.

Coverage is not recorded on some .net framework projects #1001

@OldWarrior3000

Description

@OldWarrior3000

Please provide the following information when submitting an issue.

Where appropriate replace the [] with a [X]

NOTE Support requests should initially be raised on GitHub discussions

My Framework

  • .NET 2
  • .NET 3.5
  • .NET 4
  • .NET 4.5
  • .NET 4.6
  • .NET 4.6.1
  • .NET 4.6.2
  • .NET 4.7
  • .NET 4.7.1
  • .NET 4.7.2
  • .NET 4.8
  • .NET Core 2.2.0
  • .NET Core 3.1.0
  • .NET 5
  • only release and LTS versions of .NET runtimes and SDKs will be supported

My Environment

  • Windows 7 or below (not truly supported due to EOL)
  • Windows 8
  • Windows 8.1
  • Windows 10
  • Windows 10 IoT Core
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019

I have already...

  • repeated the problem using the latest stable release of OpenCover.
  • reviewed the usage guide and usage document.
  • have looked at the opencover output xml file in an attempt to resolve the issue.
  • reviewed the current issues to check that the issue isn't already known.

My issue is related to (check only those which apply):

  • no coverage being recorded
  • 32 or 64 bit support

Describe the bug

I am working on a .net framework 4.6 solution and wanted to introduce OpenCover in order to get coverage into the Sonar.
The issue I am experiencing is that for some projects no coverage is detected but for some is. (Though it is just partial not complete)

What I tried to far:

  • Upgrading to the latest version of OpenCover
  • Changing between vstest and mstest (vstest shows better results. Mstest doesn't return any)
  • Experimenting with -targetdir and -searchDir
  • Changing to dotnet vstest instead of a direct vstest call
  • Creating a new independent solution based on .net framework (for which it works)
  • Adding log:all parameter to get more output
  • Checking the xml coverage report and the unit test DLL's and referenced project DLL's are not included.
  • Different combinations of -register with user, path32 and path64 or without
  • Adding MSTest.TestFramework to the test project
  • Checked full pdb support
  • Numerous recompilations with Debug and Release

With all the above mentioned combinations I get more or less the same result. Strangely it works for another small test project with I created on the side based on .net framework 4.6. I tried with several of the test projects we have and some produce a minor coverage but mostly they produce none. Here an example

Test Run Failed.
Total tests: 709
     Passed: 682
     Failed: 25
    Skipped: 2
 Total time: 15,2156 Minutes
Committing...
Visited Classes 4 of 3583 (0.11)
Visited Methods 7 of 25690 (0.03)
Visited Points 28 of 235467 (0.01)
Visited Branches 11 of 39005 (0.03)

==== Alternative Results (includes all methods including those without corresponding source) ====
Alternative Visited Classes 4 of 5438 (0.07)
Alternative Visited Methods 7 of 33052 (0.02)

Steps to reproduce the problem:

I am using the following command to run opencover.

#$OpenCover="C:\TEMP\opencover.4.7.1138\OpenCover.Console.exe"
#$VSTest="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"
 & $OpenCover -target:$VSTest -targetargs:"$(Get-Location)\Testing\UnitTestCore\bin\UnitTestCore.dll /logger:trx" -output:"$(Get-Location)\CoverageResults.xml" -register:user -log:All -searchDirs:"$(Get-Location)\Testing\UnitTestCore\bin" -skipautoprops -mergeoutput -targetdir:"$(Get-Location)\Testing\UnitTestCore"

I am not sure what else I can check. All help is greatly appreciated.
Thanks!

  • reviewed the usage guide and usage document again because we know you probably didn't do it the first time.
  • sample code or link to repository/gist is available (support is much, much faster this way)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions