单元测试XmlDocument的最佳实践

时间:2009-09-24 09:47:10

标签: c# unit-testing xmldocument

对于单元测试XmlDocument,我有点担心我编写测试用例的方式。

要断言XmlDocument,我手动创建XmlElements。有时候要测试的XmlDocument很大,所以我需要编写很多代码来构建一个预期的xmldocument。工作量很大。

XmlDocument单元测试是否有更好的实现?

3 个答案:

答案 0 :(得分:1)

XMLUnit为你做到这一点,通常它就像(在javish中,c#应该相似)一样简单:

XMLUnit.compareXML( expectedXML, codeReturnsXML );

答案 1 :(得分:1)

为什么不创建XML模式并根据它进行验证呢?

答案 2 :(得分:0)

有时候测试XML可能非常具有挑战性。斯蒂恩已经提到过XMLUnit。我从未真正使用过XMLUnit,但在某些时候,MbUnit团队正计划添加类似的功能。

看来此时MbUnit / Gallio团队还没有实现它。但是,MbUnit框架的一部分是Assert.XmlDeserializeAssert.XmlSerialize方法。

你可以像这样使用它:

Assert.AreEqual(Assert.XmlSerialize(xmlA), Assert.XmlSerialize(xmlB))

我还建议您阅读Stefan Bodewig撰写的Unit-Testing XML文章。