public void File_given___correct_counts(string trxFile, int expectedTestCount, int expectedFailureCount) { XElement trx = XElement.Load(trxFile); var parser = new TrxTestResultXmlParser(trx); parser.Parse(); Models.TrxTest testData = parser.Result; var converter = new Trx2JunitTestConverter(testData); converter.Convert(); Models.JUnitTest junitTest = converter.Result; var sut = new JUnitTestResultXmlBuilder(junitTest); sut.Build(); XElement testsuite = sut.Result.Elements("testsuite").First(); Assert.Multiple(() => { Assert.AreEqual(expectedTestCount, int.Parse(testsuite.Attribute("tests").Value), nameof(expectedTestCount)); Assert.AreEqual(expectedFailureCount, int.Parse(testsuite.Attribute("failures").Value), nameof(expectedFailureCount)); }); }
public void Testcase_status_attribute_set() { XElement trx = XElement.Load("./data/trx/nunit.trx"); var parser = new TrxTestResultXmlParser(trx); parser.Parse(); TrxTest testData = parser.Result; var converter = new Trx2JunitTestConverter(testData); converter.Convert(); JUnitTest junitTest = converter.Result; var sut = new JUnitTestResultXmlBuilder(junitTest); sut.Build(); XElement[] testCases = sut.Result.Descendants("testcase").ToArray(); Assert.Multiple(() => { Assert.AreEqual(3, testCases.Length); Assert.AreEqual("1", testCases[0].Attribute("status").Value); Assert.AreEqual("0", testCases[1].Attribute("status").Value); Assert.AreEqual("1", testCases[2].Attribute("status").Value); }); }
public Default() { AddTestResult("Class1", "Method1", TrxOutcome.NotExecuted, new TimeSpan(0, 0, 1)); AddTestResult("Class1", "Method2", TrxOutcome.Failed, new TimeSpan(0, 0, 3)); AddTestResult("Class1", "Method3", TrxOutcome.Failed, new TimeSpan(0, 0, 2)); AddTestResult("Class2", "Method1", TrxOutcome.Passed, new TimeSpan(0, 0, 3)); AddTestResult("Class3", "Method1", TrxOutcome.Failed, new TimeSpan(0, 0, 8)); AddTestResult("Class3", "Method2", TrxOutcome.Passed, new TimeSpan(0, 0, 12)); AddTestResult("Class4", "Method1", TrxOutcome.Completed, new TimeSpan(0, 0, 1)); AddTestResult("Class4", "Method2", TrxOutcome.Warning, new TimeSpan(0, 0, 1)); var converter = new Trx2JunitTestConverter(_trxTest); converter.Convert(); _junitTest = converter.Result; //----------------------------------------------------------------- void AddTestResult(string testClass, string testMethod, TrxOutcome testResult, TimeSpan?testDuration) { var testGuid = Guid.NewGuid(); var testExecGuid = Guid.NewGuid(); _trxTest.TestDefinitions.Add( new TrxTestDefinition { Id = testGuid, TestClass = testClass, TestMethod = testMethod, ExecutionId = testExecGuid, }); _trxTest.UnitTestResults.Add( new TrxUnitTestResult { ExecutionId = testExecGuid, TestId = testGuid, TestName = testMethod, Outcome = testResult, Duration = testDuration, StartTime = DateTime.Now, StackTrace = "", Message = "", ComputerName = Environment.MachineName }); } }
public DataDriven() { var testGuid = Guid.NewGuid(); var testExecGuids = Enumerable .Range(0, 4) .Select(_ => Guid.NewGuid()) .ToList(); _trxTest.TestDefinitions.Add( new TrxTestDefinition { Id = testGuid, TestClass = "Class1", TestMethod = "Method1", ExecutionId = testExecGuids[0] }); for (int i = 0; i < testExecGuids.Count; ++i) { _trxTest.UnitTestResults.Add( new TrxUnitTestResult { ExecutionId = testExecGuids[i], TestId = testGuid, TestName = "Method1", Outcome = i != 0 ? TrxOutcome.Passed : TrxOutcome.Failed, Duration = new TimeSpan(0, 0, 1), StartTime = DateTime.Now, StackTrace = "", Message = "", ComputerName = Environment.MachineName }); } var converter = new Trx2JunitTestConverter(_trxTest); converter.Convert(); _junitTest = converter.Result; }
public void TrxUnitTestResult_with_stdout___system_out_set() { XElement trx = XElement.Load("./data/trx/nunit-with-stdout.trx"); var parser = new TrxTestResultXmlParser(trx); parser.Parse(); Models.TrxTest testData = parser.Result; var converter = new Trx2JunitTestConverter(testData); converter.Convert(); Models.JUnitTest junitTest = converter.Result; var sut = new JUnitTestResultXmlBuilder(junitTest); sut.Build(); XElement testsuite = sut.Result.Elements("testsuite").First(); XElement systemOut = testsuite.Element("system-out"); Assert.IsNotNull(systemOut, nameof(systemOut)); Assert.AreEqual("message written to stdout", systemOut.Value); }
public void TrxUnitTestResult_with_stderr___system_err_set_by_testcase() { XElement trx = XElement.Load("./data/trx/nunit-with-stderr.trx"); var parser = new TrxTestResultXmlParser(trx); parser.Parse(); TrxTest testData = parser.Result; var converter = new Trx2JunitTestConverter(testData); converter.Convert(); JUnitTest junitTest = converter.Result; var sut = new JUnitTestResultXmlBuilder(junitTest); sut.Build(); XElement testsuite = sut.Result.Elements("testsuite").First(); XElement testcase = testsuite.Elements("testcase").First(); XElement systemErr = testcase.Element("system-err"); Assert.IsNotNull(systemErr, nameof(systemErr)); Assert.AreEqual("message written to stderr", systemErr.Value); }