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 the TeamCity web UI for the specific runner.
For other cases, when the .Net code coverage is collected by the build script and needs to be reported inside TeamCity (for example, Rake, or if you run NUnit tests via a 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 collects 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 needs to let TeamCity know details on the coverage engine with the "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 an 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 |
---|---|
| The full path to the dotCover home folder to override the bundled dotCover. |
For NCover 3.x:
key | description | sample value |
---|---|---|
| Full path to NCover installation folder. | The path to the NCover3 installation directory |
| Arguments for the 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.