Created
May 7, 2015 00:11
-
-
Save cdroulers/530d4ef4e0ee07c98a1e to your computer and use it in GitHub Desktop.
FAKE target to run code coverage on NUnit tests
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
open Fake.OpenCoverHelper | |
let buildDir = "./build/" | |
let coverageDir = buildDir + "coverage/" | |
let testsDir = buildDir + "tests/" | |
Target "RunNUnitTests" (fun _ -> | |
let assembliesToTest = (" ", (!! (buildDir + "/*.Tests.dll"))) |> System.String.Join | |
CreateDir coverageDir | |
CreateDir testsDir | |
let nCoverDir = coverageDir + "ncover/" | |
CreateDir nCoverDir | |
trace "Run OpenCover with NUnit" | |
OpenCover | |
(fun p -> { | |
p with | |
ExePath = "./packages/OpenCover/OpenCover.Console.exe" | |
TestRunnerExePath = "./packages/NUnit.Runners/tools/nunit-console.exe" | |
Output = coverageDir + "results.xml" | |
Register = RegisterUser | |
Filter = "+[*]* -[*.Tests*]*" | |
}) | |
("/nologo /noshadow /framework=net-4.5.1 /result=" + testsDir + "nunit-results.xml /output=" + testsDir + "nunit-output.txt " + assembliesToTest) | |
trace "Generate OpenCover report" | |
PowerShell.Create() | |
.AddScript(@".\packages\ReportGenerator\ReportGenerator.exe " + coverageDir + "results.xml " + coverageDir + "html") | |
.Invoke() | |
|> Seq.iter (printfn "%O") | |
trace "Generate NCover output" | |
let xslDoc = new System.Xml.Xsl.XslCompiledTransform() | |
xslDoc.Load "opencover-to-ncover.xslt" | |
xslDoc.Transform(coverageDir + "results.xml", nCoverDir + "results.xml") | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment