GoEddie / SQLCover

Apache License 2.0
61 stars 53 forks source link

Cannot use or export using Cobertura on CoverageResult #65

Open Gwayaboy opened 3 years ago

Gwayaboy commented 3 years ago

Describe the bug I am able to run and get coverage result using Get-CoverTSql PowerShell wrapper function. Source has a the public string Cobertura(string packageName = "sql", Action customCoverageUpdater = null) line 315 but the method is not visible when consuming in powershell

To Reproduce Steps to reproduce the behavior:

  1. Run $result = Get-CoverTSql "$openCoverSourceFolder\SQLCover.dll" $connectionString $databaseName $runtSQLtTestsCmd
  2. Try to run $result.Cobertura()
  3. See error Method invocation failed because [SQLCover.CoverageResult] does not contain a method named 'Cobertura'. At line:1 char:1
    • $result.Cobertura()
    • CategoryInfo : InvalidOperation: (:) [], RuntimeException
    • FullyQualifiedErrorId : MethodNotFound

Expected behavior $result = Get-CoverTSql "$openCoverSourceFolder\SQLCover.dll" $connectionString $databaseName $runtSQLtTestsCmd $result.Cobertura() | Out-File $path $result.SaveSourceFiles($reportPath)

@GoEddie

shortall commented 3 years ago

@Gwayaboy I had the same problem initially when I tried running the script that lives in

SQLCover-0.5.0\src\SQLCover\releases\template\SQLCover.ps1

Having updated it to produce a Cobertura export. I then realised the version of the dll that lives in that folder is an older version - 0.2.1 which doesn't have that method.

If you build yourself a dll from the 0.5.0 source code you should find it works