středa 11. března 2015

Xml Unit

Pokud jste někdy psali testy na XML určitě jste přišli na to že testování pomocí
 Assert.AreEqual(expectedInvoice, xmlString);
Není moc dobrý nápad, protože při každé změně se vám testy rozbijí.

XML Unit se perfektně hodí na testování vygenerovaného XML protože umožňuje testovanou hodnotu vyhledávat pomocí XPath.

Install-Package XmlUnit.Xunit

Příklad:
using System;
using Bt.Stormware.Entity;
using System.Text;
using System.Diagnostics;
using NUnit.Framework;
using System.Xml;
using XmlUnit.Xunit;


 [Test]
        public void XmlTest()
        {
            var xmlString = "<body><a href="https://www.blogger.com/null">Karel</a><input ext="" type="\" /><textarea rows="\">Jan</textarea></body>";

            XmlAssertion.AssertXmlValid(xmlString);
            XmlAssertion.AssertXPathEvaluatesTo("/body/a[text()]", xmlString, "Karel");
            XmlAssertion.AssertXPathEvaluatesTo("/body/a", xmlString, "Karel");

            
            XmlAssertion.AssertXPathExists("/body/input[@type='Text']", xmlString);
            XmlAssertion.AssertXPathEvaluatesTo("/body/textarea[@rows='3']", xmlString, "Jan");
            XmlAssertion.AssertXPathEvaluatesTo("/body/textarea[@rows]", xmlString, "Jan");

        }

Žádné komentáře:

Okomentovat