public void TestReport()
        {
            CoverageResult result = new CoverageResult();

            result.Identifier = Guid.NewGuid().ToString();
            Lines lines = new Lines();

            lines.Add(1, new LineInfo {
                Hits = 1
            });
            lines.Add(2, new LineInfo {
                Hits = 0
            });
            Methods methods = new Methods();

            methods.Add("System.Void Coverlet.Core.Reporters.Tests.LcovReporterTests.TestReport()", lines);
            Classes classes = new Classes();

            classes.Add("Coverlet.Core.Reporters.Tests.LcovReporterTests", methods);
            Documents documents = new Documents();

            documents.Add("doc.cs", classes);
            result.Modules = new Modules();
            result.Modules.Add("module", documents);

            LcovReporter reporter = new LcovReporter();

            Assert.NotEqual(string.Empty, reporter.Report(result));
        }
Beispiel #2
0
        public void TestReport()
        {
            CoverageResult result = new CoverageResult();

            result.Identifier = Guid.NewGuid().ToString();
            Lines lines = new Lines();

            lines.Add(1, new LineInfo {
                Hits = 1
            });
            lines.Add(2, new LineInfo {
                Hits = 0
            });
            Methods methods = new Methods();

            methods.Add("System.Void Coverlet.Core.Reporters.Tests.LcovReporterTests.TestReport()", lines);
            Classes classes = new Classes();

            classes.Add("Coverlet.Core.Reporters.Tests.LcovReporterTests", methods);
            Documents documents = new Documents();

            documents.Add("doc.cs", classes);
            result.Modules = new Modules();
            result.Modules.Add("module", documents);

            LcovReporter reporter = new LcovReporter();
            string       report   = reporter.Report(result);

            Assert.NotEmpty(report);
            Assert.Equal("SF:doc.cs", report.Split(Environment.NewLine)[0]);
            Assert.Equal("DA:1,1", report.Split(Environment.NewLine)[1]);
            Assert.Equal("DA:2,0", report.Split(Environment.NewLine)[2]);
            Assert.Equal("end_of_record", report.Split(Environment.NewLine)[3]);
        }
Beispiel #3
0
        public override bool Execute()
        {
            try
            {
                Console.WriteLine("\nCalculating coverage result...");
                var            coverage = InstrumentationTask.Coverage;
                CoverageResult result   = coverage.GetCoverageResult();

                var directory = Path.GetDirectoryName(_filename);
                if (!Directory.Exists(directory))
                {
                    Directory.CreateDirectory(directory);
                }

                Console.WriteLine($"  Generating report '{_filename}'");

                IReporter reporter = default(IReporter);
                switch (_format)
                {
                case "lcov":
                    reporter = new LcovReporter();
                    break;

                case "opencover":
                    reporter = new OpenCoverReporter();
                    break;

                default:
                    reporter = new JsonReporter();
                    break;
                }

                File.WriteAllText(_filename, result.Format(reporter));

                CoverageSummary coverageSummary = new CoverageSummary(result);
                var             summary         = coverageSummary.CalculateSummary();

                ConsoleTable table = new ConsoleTable("Module", "Coverage");
                foreach (var item in summary)
                {
                    table.AddRow(item.Key, $"{item.Value}%");
                }

                Console.WriteLine();
                table.Write(Format.Alternative);
            }
            catch (Exception ex)
            {
                Log.LogErrorFromException(ex);
                return(false);
            }

            return(true);
        }
        public void TestReport()
        {
            CoverageResult result = new CoverageResult();

            result.Parameters = new CoverageParameters();
            result.Identifier = Guid.NewGuid().ToString();

            Lines lines = new Lines();

            lines.Add(1, 1);
            lines.Add(2, 0);

            Branches branches = new Branches();

            branches.Add(new BranchInfo {
                Line = 1, Hits = 1, Offset = 23, EndOffset = 24, Path = 0, Ordinal = 1
            });
            branches.Add(new BranchInfo {
                Line = 1, Hits = 0, Offset = 23, EndOffset = 27, Path = 1, Ordinal = 2
            });

            Methods methods      = new Methods();
            var     methodString = "System.Void Coverlet.Core.Reporters.Tests.LcovReporterTests.TestReport()";

            methods.Add(methodString, new Method());
            methods[methodString].Lines    = lines;
            methods[methodString].Branches = branches;

            Classes classes = new Classes();

            classes.Add("Coverlet.Core.Reporters.Tests.LcovReporterTests", methods);

            Documents documents = new Documents();

            documents.Add("doc.cs", classes);
            result.Modules = new Modules();
            result.Modules.Add("module", documents);

            LcovReporter reporter = new LcovReporter();
            string       report   = reporter.Report(result, new Mock <ISourceRootTranslator>().Object);

            Assert.NotEmpty(report);
            Assert.Equal("SF:doc.cs", report.Split(Environment.NewLine)[0]);
        }