Skip to content
This repository was archived by the owner on Nov 29, 2017. It is now read-only.

Commit 2806deb

Browse files
committed
Automating code coverage (Run using "build /t:CodeCoverage")
1 parent b9e6e44 commit 2806deb

File tree

5 files changed

+46
-1
lines changed

5 files changed

+46
-1
lines changed

.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,6 @@ EntityFramework.SqlServerCompact.xml
2121
*.REMOTE.*
2222
*.LOCAL.*
2323
StyleCop.Cache
24-
*.csproj.DotSettings
24+
*.csproj.DotSettings
25+
/coverage
26+
/OpenCoverResults.xml

.nuget/packages.config

+3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
33
<package id="Microsoft.Web.SkipStrongNames" version="1.0.0" />
4+
<package id="OpenCover" version="4.5.1314" />
5+
<package id="ReportGenerator" version="1.7.3.0" />
6+
<package id="xunit.runners" version="1.9.1" />
47
</packages>

EF.msbuild

+5
Original file line numberDiff line numberDiff line change
@@ -119,4 +119,9 @@
119119
Namespaces="&lt;Namespace Prefix='x' Uri='http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd' /&gt;" />
120120
</Target>
121121

122+
<Target Name="CodeCoverage" DependsOnTargets="RestoreSolutionPackages;Build">
123+
<MSBuild Projects="tools\EF.opencover.targets"
124+
Properties="Configuration=$(Configuration);$(BuildProperties)" />
125+
</Target>
126+
122127
</Project>

tools/EF.opencover.targets

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="OpenCover" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup>
4+
<OpenCoverMsBuild Include="..\packages\**\OpenCover.MSBuild.dll" />
5+
<OpenCoverConsole Include="..\packages\**\OpenCover.Console.exe" />
6+
<ReportGeneratorMsBuild Include="..\packages\**\ReportGenerator.exe" />
7+
<XunitConsoleRunner Include="..\packages\**\xunit.console.clr4.x86.exe"/>
8+
</ItemGroup>
9+
<UsingTask TaskName="OpenCover.MSBuild.OpenCover" AssemblyFile="@(OpenCoverMsBuild)" />
10+
<UsingTask TaskName="ReportGenerator" AssemblyFile="@(ReportGeneratorMsBuild)" />
11+
<Target Name="OpenCover">
12+
<Message Text="Running tests with code coverage..." Importance="High" />
13+
<OpenCover ToolPath="@(OpenCoverConsole->'%(RelativeDir)')"
14+
ToolExe="@(OpenCoverConsole->'%(Filename)%(Extension)')"
15+
Target="@(XunitConsoleRunner)"
16+
TargetArgs="EF.opencover.xunit /silent"
17+
MergeByHash="True"
18+
Filter="+[EntityFramework]*"
19+
Output="..\OpenCoverResults.xml" />
20+
<Message Text="Generating code coverage report..." Importance="High" />
21+
<ReportGenerator ReportFiles="..\OpenCoverResults.xml"
22+
TargetDirectory="..\coverage"
23+
ReportTypes="Html;XmlSummary" />
24+
</Target>
25+
</Project>

tools/EF.opencover.xunit

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<xunit>
3+
<assemblies>
4+
<!-- NOTE: OpenCover requires shadow-copy to be false -->
5+
<assembly filename="..\test\EntityFramework\UnitTests\bin\Release\EntityFramework.UnitTests.dll" shadow-copy="false" />
6+
<assembly filename="..\test\EntityFramework\FunctionalTests\bin\Release\EntityFramework.FunctionalTests.dll" shadow-copy="false" />
7+
<assembly filename="..\test\EntityFramework\FunctionalTests.Transitional\bin\Release\EntityFramework.FunctionalTests.Transitional.dll" shadow-copy="false" />
8+
<assembly filename="..\test\EntityFramework\VBTests\bin\Release\EntityFramework.VBTests.dll" shadow-copy="false" />
9+
</assemblies>
10+
</xunit>

0 commit comments

Comments
 (0)