posts - 80,comments - 749,trackbacks - 2

          What is NXUnit?

          NXUnit is a NUnit -style unit testing framework about XML for .NET Framework. It is an extension to NUnit. It brings you the ability to do unit testing easily in XML applications. It helps you to concentrate on business logic of your XML application and improve your Test Driven Development(TDD) technics. You can directly compare one XML string or stream with another, er assert that they are equal, just like doing the same thing to two integers using xUnit. But without NXUnit, you must pay attention to whitespaces in XML strings, empty elements or attributes, unimportant order of elements or attributes, unneccessary comments and so on. It's similar with XmlUnit in some aspects.

          Features

          The current version is NXUnit 1.0rc1, July 2005. The following is the 8 features of this version, which you can find in the facade class XMLAssert:

              * Assert that two XML inputs are equal.
              * Compare two XML inputs and find all differences between them.
              * Assert that declarations of two XML inputs are equal.
              * Assert that document types of two XML inputs are equal.
              * Assert the validity of an XML input.
              * Assert that the evaluation of an XPath expression on an XML input will return the expected value.
              * Assert that an XPath expression exists for an XML input.
              * Assert that an XML input is included by another.

          And you can change the properties of an instance of XMLAssert before an assertion or comparition, in order to:

              * Ignore the case of the elements' and attributes' names
              * Ignore XML comments
              * Ignore XML declarations and document types of both inputs
              * Ignore empty elements and attributes
              * Ignore orders of elements and attributes
              * Ignore unimportant whitespaces

          Sample

           1    using System;
           2    using System.IO;
           3    using System.Xml;
           4    using NUnit.Framework;
           5    using NXUnit.Framework;
           6
           7
           8    [TestFixture]
           9    public class Sample
          10    {
          11        private XMLAssert xa;
          12
          13        [SetUp]
          14        public void Init()
          15        {
          16            xa = XMLAssert.CreateInstance();
          17        }

          18
          19        [Test]
          20        public void TestMethod()
          21        {
          22            // Init the xml input
          23            string s1 = "";
          24            string s2 = "";
          25
          26            // Init the options for your purpose
          27            xa.IsOrderSensitive = false;
          28
          29            // Assert two XML inputs are equal
          30            xa.AreEqual(s1, s2, "Assertion Failed!");
          31
          32            // Compare two XML inputs and find all differences between them
          33            CompareResult r = xa.Compare(s1, s2);
          34            foreach (Diff d in r)
          35            {
          36                Console.WriteLine(d);
          37            }

          38            CompareResult another = xa.Compare(s1, s2);
          39            r.Add(another);
          40            for (int i = 0; i < r.Count; i++)
          41            {
          42                Console.WriteLine(r[i]);
          43            }

          44            if (r.AreEqual)
          45            {
          46                // They are equal
          47            }

          48
          49            // Assert two XML declaration of the two XML inputs are equal
          50            xa.AreDeclareEqual(s1, s2, "Declarations are not equal");
          51
          52            // Assert two document types of the two XML inputs are equal
          53            xa.AreDocTypeEqual(s1, s2, "DocTypes are not equal");
          54
          55            // Assert the validity of an XML input
          56            XMLAssert.IsValid("");
          57            XMLAssert.IsValidFile(@"C:\");
          58
          59            // Assert the evaluation of an XPath expression on an XML input will 
          60            // return the expected value
          61            xa.AreXpathEqual("<a/>""/r/a[2]", s1, 
          62                "The xpath expression doesn't return <a/>");
          63
          64            // Assert an XPath expression is exist for an XML input
          65            XMLAssert.XpathExist("//@b='c'", s1, 
          66                "The xml document doesn't have the xpath expression");
          67
          68            // Assert an XML input is included by another one
          69            xa.IsIncluded(s1, s2, "The {0} is not included in {1}", s1, s2);
          70
          71            // The Counter
          72            Assert.AreEqual(6, xa.Counter);
          73
          74            // XMLInput can use in all the samples above
          75            xa.AreEqual(XMLInput.CreateFromString(s1), 
          76                XMLInput.CreateFromString(s2), "Assertion Failed!");
          77        }

          78    }
          posted on 2005-07-15 13:22 Brian Sun 閱讀(2461) 評(píng)論(3)  編輯  收藏 所屬分類: 軟件

          FeedBack:
          # re: 發(fā)表我自己的開源軟件
          2005-07-16 21:44 | 乖狗狗
          泡泡啊,終于又見你寫B(tài)log了
          雖然你的著作對(duì)乖狗狗來說是比較深?yuàn)W滴
          還是努力去看看
          呵呵
            回復(fù)  更多評(píng)論
            
          # re: 發(fā)表我自己的開源軟件
          2005-07-19 12:37 | Brian Sun
          謝謝支持,呵呵,我會(huì)努力的!
            回復(fù)  更多評(píng)論
            
          # re: BlogJava的開源軟件:NXUnit
          2014-10-24 10:26 | lovemydream
          TDD!~~  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 吴江市| 镇远县| 洪江市| 黄骅市| 石柱| 玉屏| 阿坝| 普定县| 山阳县| 藁城市| 成安县| 开远市| 隆德县| 内丘县| 华池县| 甘泉县| 汉寿县| 砀山县| 奇台县| 北辰区| 郓城县| 延庆县| 威远县| 和顺县| 措美县| 武宁县| 华亭县| 曲沃县| 厦门市| 广水市| 绥德县| 沐川县| 定边县| 县级市| 大化| 新和县| 伊吾县| 徐闻县| 彭山县| 扬州市| 伊春市|