Exemplo n.º 1
0
        /// <summary>
        /// Adds the XML representation of the result as a child of the
        /// supplied parent node..
        /// </summary>
        /// <param name="parentNode">The parent node.</param>
        /// <param name="recursive">If true, descendant results are included</param>
        /// <returns></returns>
        public virtual XmlNode AddToXml(XmlNode parentNode, bool recursive)
        {
            // A result node looks like a test node with extra info added
            XmlNode thisNode = this.Test.AddToXml(parentNode, false);

            thisNode.AddAttribute("result", ResultState.Status.ToString());
            if (ResultState.Label != string.Empty) // && ResultState.Label != ResultState.Status.ToString())
            {
                thisNode.AddAttribute("label", ResultState.Label);
            }

            thisNode.AddAttribute("start-time", StartTime.ToString("u"));
            thisNode.AddAttribute("end-time", EndTime.ToString("u"));
            thisNode.AddAttribute("duration", Duration.TotalSeconds.ToString("0.000000", NumberFormatInfo.InvariantInfo));

            if (this.Test is TestSuite)
            {
                thisNode.AddAttribute("total", (PassCount + FailCount + SkipCount + InconclusiveCount).ToString());
                thisNode.AddAttribute("passed", PassCount.ToString());
                thisNode.AddAttribute("failed", FailCount.ToString());
                thisNode.AddAttribute("inconclusive", InconclusiveCount.ToString());
                thisNode.AddAttribute("skipped", SkipCount.ToString());
            }

            thisNode.AddAttribute("asserts", this.AssertCount.ToString());

            switch (ResultState.Status)
            {
            case TestStatus.Failed:
                AddFailureElement(thisNode);
                break;

            case TestStatus.Skipped:
                AddReasonElement(thisNode);
                break;

            case TestStatus.Passed:
            case TestStatus.Inconclusive:
                if (this.Message != null)
                {
                    AddReasonElement(thisNode);
                }
                break;
            }

            if (recursive && HasChildren)
            {
                foreach (TestResult child in Children)
                {
                    child.AddToXml(thisNode, recursive);
                }
            }

            return(thisNode);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Adds the XML representation of the result as a child of the
        /// supplied parent node..
        /// </summary>
        /// <param name="parentNode">The parent node.</param>
        /// <param name="recursive">If true, descendant results are included</param>
        /// <returns></returns>
        public virtual XmlNode AddToXml(XmlNode parentNode, bool recursive)
        {
            // A result node looks like a test node with extra info added
            XmlNode thisNode = this.test.AddToXml(parentNode, false);

            XmlHelper.AddAttribute(thisNode, "result", ResultState.Status.ToString());
            if (ResultState.Label != string.Empty) // && ResultState.Label != ResultState.Status.ToString())
            {
                XmlHelper.AddAttribute(thisNode, "label", ResultState.Label);
            }

            XmlHelper.AddAttribute(thisNode, "time", this.Time.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture));

            if (this.test is TestSuite)
            {
                XmlHelper.AddAttribute(thisNode, "total", (PassCount + FailCount + SkipCount + InconclusiveCount).ToString());
                XmlHelper.AddAttribute(thisNode, "passed", PassCount.ToString());
                XmlHelper.AddAttribute(thisNode, "failed", FailCount.ToString());
                XmlHelper.AddAttribute(thisNode, "inconclusive", InconclusiveCount.ToString());
                XmlHelper.AddAttribute(thisNode, "skipped", SkipCount.ToString());
            }

            XmlHelper.AddAttribute(thisNode, "asserts", this.AssertCount.ToString());

            switch (ResultState.Status)
            {
            case TestStatus.Failed:
                AddFailureElement(thisNode);
                break;

            case TestStatus.Skipped:
                AddReasonElement(thisNode);
                break;

            case TestStatus.Passed:
                break;

            case TestStatus.Inconclusive:
                break;
            }

            if (recursive && HasChildren)
            {
                foreach (TestResult child in Children)
                {
                    child.AddToXml(thisNode, recursive);
                }
            }

            return(thisNode);
        }
Exemplo n.º 3
0
        private HtmlTag BuildSummaryBox()
        {
            return(new HtmlTag("table").Append(
                       new HtmlTag("thead").Append(
                           new HtmlTag("tr").Append(
                               new HtmlTag("th").AppendText("Stories"),
                               new HtmlTag("th").AppendText("Scenarios"),
                               new HtmlTag("th").Append(
                                   new HtmlTag("div").Append(
                                       HtmlReportPrebuilt.PassedIcon
                                       ),

                                   new HtmlTag("input").Attr("type", "checkbox").Attr("checked", "checked").Id("Passed")
                                   ),
                               new HtmlTag("th").Append(
                                   new HtmlTag("div").Append(
                                       HtmlReportPrebuilt.FailedIcon
                                       ),
                                   new HtmlTag("input").Attr("type", "checkbox").Attr("checked", "checked").Id("Failed")
                                   ),
                               new HtmlTag("th").Append(
                                   new HtmlTag("div").Append(
                                       HtmlReportPrebuilt.InconclusiveIcon
                                       ),
                                   new HtmlTag("input").Attr("type", "checkbox").Attr("checked", "checked").Id("Inconclusive")
                                   ),
                               new HtmlTag("th").Append(
                                   new HtmlTag("div").Append(
                                       HtmlReportPrebuilt.NotImplementedIcon
                                       ),
                                   new HtmlTag("input").Attr("type", "checkbox").Attr("checked", "checked").Id("NotImplemented")
                                   )
                               )
                           ),
                       new HtmlTag("tbody").Append(
                           new HtmlTag("tr").Append(
                               new HtmlTag("td").AppendText(StoriesCount.ToString()),
                               new HtmlTag("td").AppendText(ScenariosCount.ToString()),
                               new HtmlTag("td").AppendText(PassedCount.ToString()),
                               new HtmlTag("td").AppendText(FailedCount.ToString()),
                               new HtmlTag("td").AppendText(InconclusiveCount.ToString()),
                               new HtmlTag("td").AppendText(NotImplementedCount.ToString())
                               )
                           )
                       ).Attr("width", "1000"));
        }
Exemplo n.º 4
0
        public virtual XmlNode AddToXml(XmlNode parentNode, bool recursive)
        {
            XmlNode xmlNode = test.AddToXml(parentNode, recursive: false);

            XmlHelper.AddAttribute(xmlNode, "result", ResultState.Status.ToString());
            if (ResultState.Label != string.Empty)
            {
                XmlHelper.AddAttribute(xmlNode, "label", ResultState.Label);
            }
            XmlHelper.AddAttribute(xmlNode, "time", Time.ToString("0.000", CultureInfo.InvariantCulture));
            if (test is TestSuite)
            {
                XmlHelper.AddAttribute(xmlNode, "total", (PassCount + FailCount + SkipCount + InconclusiveCount).ToString());
                XmlHelper.AddAttribute(xmlNode, "passed", PassCount.ToString());
                XmlHelper.AddAttribute(xmlNode, "failed", FailCount.ToString());
                XmlHelper.AddAttribute(xmlNode, "inconclusive", InconclusiveCount.ToString());
                XmlHelper.AddAttribute(xmlNode, "skipped", SkipCount.ToString());
            }
            XmlHelper.AddAttribute(xmlNode, "asserts", AssertCount.ToString());
            switch (ResultState.Status)
            {
            case TestStatus.Failed:
                AddFailureElement(xmlNode);
                break;

            case TestStatus.Skipped:
                AddReasonElement(xmlNode);
                break;
            }
            if (recursive && HasChildren)
            {
                foreach (TestResult child in Children)
                {
                    child.AddToXml(xmlNode, recursive);
                }
            }
            return(xmlNode);
        }
Exemplo n.º 5
0
        public virtual TNode AddToXml(TNode parentNode, bool recursive)
        {
            // A result node looks like a test node with extra info added
            TNode thisNode = Test.AddToXml(parentNode, false);

            thisNode.AddAttribute("result", ResultState.Status.ToString());
            if (ResultState.Label != string.Empty) // && ResultState.Label != ResultState.Status.ToString())
            {
                thisNode.AddAttribute("label", ResultState.Label);
            }
            if (ResultState.Site != FailureSite.Test)
            {
                thisNode.AddAttribute("site", ResultState.Site.ToString());
            }

            thisNode.AddAttribute("start-time", StartTime.ToString("o"));
            thisNode.AddAttribute("end-time", EndTime.ToString("o"));
            thisNode.AddAttribute("duration", Duration.ToString("0.000000", NumberFormatInfo.InvariantInfo));

            if (Test is TestSuite)
            {
                thisNode.AddAttribute("total", TotalCount.ToString());
                thisNode.AddAttribute("passed", PassCount.ToString());
                thisNode.AddAttribute("failed", FailCount.ToString());
                thisNode.AddAttribute("warnings", WarningCount.ToString());
                thisNode.AddAttribute("inconclusive", InconclusiveCount.ToString());
                thisNode.AddAttribute("skipped", SkipCount.ToString());
            }

            thisNode.AddAttribute("asserts", AssertCount.ToString());

            switch (ResultState.Status)
            {
            case TestStatus.Failed:
                AddFailureElement(thisNode);
                break;

            case TestStatus.Skipped:
            case TestStatus.Passed:
            case TestStatus.Inconclusive:
            case TestStatus.Warning:
                if (Message != null && Message.Trim().Length > 0)
                {
                    TNode reasonNode = thisNode.AddElement("reason");
                    reasonNode.AddElementWithCDATA("message", Message);
                }
                break;
            }

            if (Output.Length > 0)
            {
                AddOutputElement(thisNode);
            }

            if (AssertionResults.Count > 0)
            {
                AddAssertionsElement(thisNode);
            }

            if (_testAttachments.Count > 0)
            {
                AddAttachmentsElement(thisNode);
            }

            if (recursive && HasChildren)
            {
                foreach (var child in Children)
                {
                    child.AddToXml(thisNode, recursive);
                }
            }

            return(thisNode);
        }