public void MultiTestcaseV3()
        {
            var settings = new Settings();
            var output   = new Catch2Interface.XmlOutput(Resources.TestStrings_TestResult.MultipleTestCasesV3, false, settings);

            Assert.IsFalse(output.IsPartialOutput);
            Assert.IsFalse(output.TimedOut);

            Assert.AreEqual(2, output.TestResults.Count);
        }
        public void MultiTestcaseV3()
        {
            var settings = new Settings();
            var output   = new Catch2Interface.XmlOutput(Resources.TestStrings_TestResult.PartialMultipleTestCasesV3, false, settings);

            Assert.IsFalse(output.TimedOut);
            Assert.IsTrue(output.IsPartialOutput);

            Assert.AreEqual(4, output.TestResults.Count);
            Assert.AreEqual("Test1", output.TestResults[0].Name);
            Assert.AreEqual(TestOutcomes.Passed, output.TestResults[0].Outcome);

            Assert.AreEqual("Test2", output.TestResults[1].Name);
            Assert.AreEqual(TestOutcomes.Passed, output.TestResults[1].Outcome);

            Assert.AreEqual("Test3", output.TestResults[2].Name);
            Assert.AreEqual(TestOutcomes.Passed, output.TestResults[2].Outcome);

            Assert.AreEqual("Test4", output.TestResults[3].Name);
            Assert.AreEqual(TestOutcomes.Failed, output.TestResults[3].Outcome);
        }
Beispiel #3
0
        private void ProcessXml()
        {
            try
            {
                // Determine the part of the xmloutput string to parse
                // In some cases Catch2 output contains additional lines of output after the
                // xml-output. The XmlDocument parser doesn't like this so let's make sure those
                // extra lines are ignored.
                var cleanedoutput = XmlOutput.CleanXml(_xmloutput);

                if (string.IsNullOrEmpty(cleanedoutput))
                {
                    SetInvalidTestRunnerOutput();
                    return;
                }

                // Parse the Xml document
                var xml = new XmlDocument();
                xml.LoadXml(cleanedoutput);

                if (XmlOutput.IsVersion2Xml(cleanedoutput))
                {
                    var nodeGroup = xml.SelectSingleNode("Catch/Group");
                    ExtractTestResult(nodeGroup);
                }
                else if (XmlOutput.IsVersion3Xml(cleanedoutput))
                {
                    var nodeGroup = xml.SelectSingleNode("Catch2TestRun");
                    ExtractTestResult(nodeGroup);
                }
            }
            catch
            {
                SetInvalidTestRunnerOutput();
            }
        }