dotCover with MSBuild and MSTest

Hello guys,

The company I work for, owns TeamCity Enterprise Edition with dotCover build in.
We are trying to have code coverage with dotCover, but couldn't make it work.
The configuration is following:
I'm using MSBuild script file to run MSTest executable agains multiple test dll's each of them has appropriate .testrunconfig file and test category specified. (Using MSBuild <Exec> task)

<?xml version="1.0" encoding="utf-8" ?>
  MSBuild file that invokes mstest on all projects with ".Tests" suffix. 
  Created by Greg MacLellan, Dec 1 2010
<Project ToolsVersion="4.0"

    <MsTestExePath Condition="'$(MsTestExePath)'==''">C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe</MsTestExePath>

    <TestAssemblies Include="$(<Some assemblies>).dll" />

  <Target Name="RunUnitTests">
    <Message Text="Found test assemblies: @(TestAssemblies)" />
    <MakeDir Directories="$(<some folder>)\TestResults" />
    <CallTarget Targets="RunMsTest" />

  <!-- For reference, the key to making this work is the Outputs="" parameter on the Target 
       RunMsTest target runs MSTest against the DLLs in TestAssemblies 
  <Target Name="RunMsTest" Outputs="%(TestAssemblies.Filename)">
    <Message Text="Running tests in %(TestAssemblies.Filename)%(TestAssemblies.Extension)" />
    <!-- show TC progress -->
    <Message Text="##teamcity[progressMessage 'Running tests in %(TestAssemblies.Filename)']" Importance="High" />

      <MsTestCommand>"$(MsTestExePath)" /testcontainer:"%(TestAssemblies.FullPath)" /runconfig:%(TestAssemblies.RootDir)%(TestAssemblies.Directory)%(TestAssemblies.Filename).testrunconfig /category:"UnitTests" /resultsfile:"$(<some folder>)\TestResults\%(TestAssemblies.Filename).trx" </MsTestCommand>
    <!-- Message Text="Exec: $(MsTestCommand)" / -->
    <Exec Command="$(MsTestCommand)" ContinueOnError="true" />

    <!-- import data to teamcity test results -->
    <Message Text="##teamcity[importData type='mstest' path='$(<some folder>)\TestResults\%(TestAssemblies.Filename).trx']" />

    <Message Text="Tests complete from %(TestAssemblies.Filename)%(TestAssemblies.Extension)" />


My question is: How can I make dotCover analyse these assemblies and how to make TeamCity report them?


Please sign in to leave a comment.