private void OnExecute()
        {
            _logger = new Logger(LoggingLevel);

            _logger.WriteLine(LoggingLevel.Verbose, "extentreports-cli initializing ...");

            string output = string.IsNullOrWhiteSpace(Output) ? $".\\{DefaultBaseDirectory}" : Output;

            bool foundResultFiles = false;

            if (!string.IsNullOrEmpty(TestRunnerResultsDirectory) && File.GetAttributes(TestRunnerResultsDirectory) == FileAttributes.Directory && Parser.Equals(TestFramework.NUnit))
            {
                string filePattern = "*." + KnownFileExtensions.GetExtension(Parser);
                _logger.WriteLine(LoggingLevel.Normal, $"Getting test runner result files in folder '{TestRunnerResultsDirectory}' matching pattern '{filePattern}' ...");

                List <string> files = Directory.GetFiles(TestRunnerResultsDirectory, filePattern, SearchOption.AllDirectories).ToList();

                foreach (string file in files)
                {
                    _logger.WriteLine(LoggingLevel.Normal, $"Parsing test runner result file '{file}' ...");
                    var extent = new ExtentReports();
                    var dir    = Path.Combine(output, Path.GetFileNameWithoutExtension(file));
                    InitializeReporter(extent, dir);
                    new NUnitParser(extent).ParseTestRunnerOutput(file);
                    extent.Flush();
                    _logger.WriteLine(LoggingLevel.Normal, $"Report for '{file}' is complete.");
                    foundResultFiles = true;
                }
            }

            if (!string.IsNullOrWhiteSpace(TestRunnerResultsFile))
            {
                _logger.WriteLine(LoggingLevel.Normal, $"Parsing test runner result file '{TestRunnerResultsFile}' ...");
                var extent = new ExtentReports();
                InitializeReporter(extent, output);
                new NUnitParser(extent).ParseTestRunnerOutput(TestRunnerResultsFile);
                extent.Flush();
                _logger.WriteLine(LoggingLevel.Normal, $"Report for '{TestRunnerResultsFile}' is complete.");
                foundResultFiles = true;
            }

            if (!foundResultFiles)
            {
                _logger.WriteLine(LoggingLevel.Normal, "Nothing to do!");
            }

            _logger.WriteLine(LoggingLevel.Verbose, "extentreports-cli finished.");
        }
Ejemplo n.º 2
0
        private void OnExecute()
        {
            if (Debug)
            {
                Debugger.Launch();
            }
            _logger = new Logger(LoggingLevel);
            _logger.WriteLine(LoggingLevel.Verbose, "extentreports-cli initializing ...");

            string output = string.IsNullOrWhiteSpace(Output) ? $".\\{DefaultBaseDirectory}" : Output;

            if (!string.IsNullOrEmpty(TestRunnerResultsDirectory) && File.GetAttributes(TestRunnerResultsDirectory) == FileAttributes.Directory && Parser.Equals(TestFramework.NUnit))
            {
                string filePattern = "*." + KnownFileExtensions.GetExtension(Parser);
                _logger.WriteLine(LoggingLevel.Normal, $"Getting test runner result files in folder '{TestRunnerResultsDirectory}' matching pattern '{filePattern}' ...");

                List <string> files = Directory.GetFiles(TestRunnerResultsDirectory, filePattern, SearchOption.AllDirectories).ToList();

                if (Merge)
                {
                    files.ForEach(x => ProcessSingle(x, output, true));
                }
                else
                {
                    files.ForEach(x =>
                    {
                        var dir = Path.Combine(output, Path.GetFileNameWithoutExtension(x));
                        ProcessSingle(x, dir, false);
                    });
                }
            }

            if (!string.IsNullOrWhiteSpace(TestRunnerResultsFile))
            {
                ProcessSingle(TestRunnerResultsFile, output, true);
            }

            if (_filesProcessed == 0)
            {
                _logger.WriteLine(LoggingLevel.Normal, "Nothing to do!");
            }

            _logger.WriteLine(LoggingLevel.Verbose, "extentreports-cli finished.");
        }