Untitled
unknown
plain_text
2 years ago
2.2 kB
3
Indexable
using System; using System.Diagnostics; using System.IO; using OpenCover.Framework; using OpenCover.ReportGenerator; class Program { static void Main(string[] args) { // Set the path to the OpenCover executable string openCoverPath = "C:\\OpenCover\\OpenCover.Console.exe"; // Set the path to the target assembly to be instrumented string targetAssemblyPath = "C:\\MyApp\\MyApp.exe"; // Set the path to the output file string outputFile = "C:\\MyApp\\MyAppCoverage.xml"; // Set the path to the report generator executable string reportGeneratorPath = "C:\\ReportGenerator\\ReportGenerator.exe"; // Set the path to the output directory for the HTML report string outputDirectory = "C:\\MyApp\\CoverageReport"; // Set the command line arguments for OpenCover string arguments = $"-register -target:\"{targetAssemblyPath}\" -output:\"{outputFile}\""; // Start the OpenCover process ProcessStartInfo startInfo = new ProcessStartInfo(openCoverPath, arguments); startInfo.UseShellExecute = false; startInfo.RedirectStandardOutput = true; using (Process process = Process.Start(startInfo)) { // Wait for the process to exit process.WaitForExit(); } // Generate the HTML report CoverageReportConfiguration config = new CoverageReportConfiguration(); config.ReportTypes = new[] { "Html" }; config.SourceDirectories = new[] { Path.GetDirectoryName(targetAssemblyPath) }; config.TargetDirectory = outputDirectory; config.OpenHtmlReport = true; ReportGenerator generator = new ReportGenerator(config); generator.GenerateReport(outputFile); // Extract the coverage information from the report CoverageSummary summary = CoverageSummary.FromXmlFile(Path.Combine(outputDirectory, "Summary.xml")); double totalCoverage = summary.CoveredPercent; // Output the total coverage percentage Console.WriteLine($"Total coverage: {totalCoverage}%"); } }
Editor is loading...