private SonarDocument Convert(TrxDocument trxDocument, string solutionDirectory, bool useAbsolutePath) { var sonarDocument = new SonarDocument(); foreach (var trxResult in trxDocument.Results) { try { var unitTest = trxResult.GetUnitTest(trxDocument); var testFile = unitTest.GetTestFile(solutionDirectory, useAbsolutePath); var file = sonarDocument.GetFile(testFile); if (file == null) { file = new File(testFile); sonarDocument.Files.Add(file); } var testCase = new TestCase(trxResult.TestName, Utils.ToSonarDuration(trxResult.Duration)); if (trxResult.Outcome != Outcome.Passed) { if (trxResult.Outcome == Outcome.NotExecuted) { testCase.Skipped = new Skipped(); this.logger.LogInformation($"Skipped: {trxResult.TestName}"); } else { testCase.Failure = new Failure(trxResult.Output?.ErrorInfo?.Message ?? string.Empty, trxResult.Output?.ErrorInfo?.StackTrace ?? string.Empty); this.logger.LogInformation($"Failure: {trxResult.TestName}"); } } else { this.logger.LogInformation($"Passed: {trxResult.TestName}"); } file.TestCases.Add(testCase); } catch (Exception ex) { this.logger.LogError(ex.Message); } } return(sonarDocument); }
private SonarDocument Convert(TrxDocument trxDocument, string solutionDirectory, bool useAbsolutePath) { var sonarDocument = new SonarDocument(); foreach (var trxResult in trxDocument.Results) { var unitTest = trxResult.GetUnitTest(trxDocument); var testFile = unitTest.GetTestFile(solutionDirectory, useAbsolutePath); /* * if (!System.IO.File.Exists(Path.Combine(solutionDirectory,testFile))) * { * this.logger.LogWarning($"Test file seems to be wrong - Unable to find it: {testFile}"); * } */ var file = sonarDocument.GetFile(testFile); if (file == null) { file = new File(testFile); sonarDocument.Files.Add(file); } var testCase = new TestCase(trxResult.TestName, Utils.ToSonarDuration(trxResult.Duration)); if (trxResult.Outcome != Outcome.Passed) { if (trxResult.Outcome == Outcome.NotExecuted) { testCase.Skipped = new Skipped(); this.logger.LogInformation($"Skipped: {trxResult.TestName}"); } else { testCase.Failure = new Failure(trxResult.Output?.ErrorInfo?.Message, trxResult.Output?.ErrorInfo?.StackTrace); this.logger.LogInformation($"Failure: {trxResult.TestName}"); } } else { this.logger.LogInformation($"Passed: {trxResult.TestName}"); } file.TestCases.Add(testCase); } return(sonarDocument); }