3

Has anyone successfully run coverage reporting using dotCover (and ideally TeamCity) while targeting release mode in the application? Here's the error message I received (this configuration works in debug mode):

Generate dotCover report (6s)
[09:53:44][Generate dotCover report] Started dotCover: E:\BuildAgent3\tools\dotCover\dotCover.exe report F:\TCAgents\ag3temp\buildTmp\dotcover3521342814066873775.xml
[09:53:44]
[Generate dotCover report] Output: JetBrains dotCover Console Runner v2.0.425.62. Copyright (c) 2009-2012 JetBrains s.r.o. All rights reserved.

[JetBrains dotCover] Report generation started [8/29/2012 9:53:43 AM]
[JetBrains dotCover] Report generation finished [8/29/2012 9:53:43 AM]
[Generate dotCover report] dotCover exited with code: 0
Generate dotCover HTML report
[Generate dotCover HTML report] No source files were found under the build checkout directory F:\TCAgents\ag3work\724608d32a4f6354. No source files will be included in dotCover report as source code of classes.

We would like to produce one set of compiled artifacts to pass through the delivery pipeline (including deployment). We didn't run into this problem with NCover - it was able to produce coverage on our release build.

Note: .pdb files are being generated in release mode

Danny Douglass
  • 390
  • 1
  • 11
  • What sort of PDB files are you producing pdb-only or full? Perhaps try switching to full if not already doing so. – Shaun Wilde Aug 29 '12 at 23:54
  • Thanks for the suggestion Shaun. I am generating pdb-only, however that same configuration works just fine for a separate project producing release mode artifacts. – Danny Douglass Aug 30 '12 at 04:38

1 Answers1

3

According to the logs, snapshot was taken normally and coverage statistics must be presented. Looks like source code build and coverage analysis are in different build configurations. You can either put build and coverage analysis in a single configuration or configure source code mapping by TC-parameter

dotNetCoverage.dotCover.source.mapping (format: path1 => path2)

Current checkout dir can be specified as % teamcity.build.checkoutDir%