Manually Configuring Reporting Coverage
If you run .Net tests using NUnit, MSTest, MSpec or .NET Process Runner runners or run NUnit tests via supported tasks of MSBuild or NAnt runners, you can turn on coverage collection in TeamCity web UI for the specific runner.
For other cases, when the .Net code coverage is collected by the build script and need to be reported inside TeamCity (for example, Rake, or if you run NUnit tests via test launcher other than TeamCity NUnit Test Launcher), there is a way to let TeamCity know about the coverage data.
First, make sure the build script actually collect the code coverage according to the coverage engine documentation. Then, report the collected data to TeamCity: Communication is done via Build Script Interaction with TeamCity. First, the build script need to let TeamCity know details on the coverage engine with "dotNetCoverage" message. Then, the build script can issue one or several "importData" messages to import the actual code coverage data files collected. As a result, TeamCity will display coverage statistics and HTML report for the coverage.
Configuring Code Coverage Engine
Use the following service message template:
##teamcity[dotNetCoverage <key>='<value>' <key1>='<value1>' ...]
where key
is one of the following: For DotCover (optional):
key | description |
---|---|
| Full path to DotCover home folder to override bundled dotCover. |
For NCover 3.x:
key | description | sample value |
---|---|---|
| Full path to NCover installation folder. | Path to NCover3 installation directory |
| Arguments for NCover report generator. | Set "//or FullCoverageReport:Html:{teamcity.report.path}" or another NCover commandline argument |
For NCover 1.x:
key | description | sample value |
---|---|---|
| Path to NCoverExplorer. | Path to NCoverExplorer |
| Additional arguments for NCover 1.x. | |
| Value for | 1 |
| Value for | 1 |
For PartCover:
key | description | value |
---|---|---|
| Write xslt transformation rules one per line (use |n as separator) in the following format: | file.xslt=>generatedFileName.html |
Importing Coverage Data Files
To pass xml report generated by a coverage tool to TeamCity, in your build script use the following service message:
##teamcity[importData type='dotNetCoverage' tool='<tool name>' path='<path to the results file>']
where tool name
can be dotcover, partcover, ncover or ncover3.