OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Testing XML don't use xUnit

It might be interesting to share one of the areas that convinced me of the usefulness of XPath for test assertions.

The challenge was to demonstrate that the Saxon optimizer is working correctly, and not regressing between releases. The way we do this is to output a copy of the query execution plan in XML format, and make XPath assertions against this XML. The query execution plan can vary dramatically from one release to the next, but the XPath assertions ignore most of it, and focus on the presence of small indicators: for example the rewriting of (count($a) < 100) as empty($a[100]) can be detected by the presence of the path //function[name="empty"]/filterExpression. These tests have proved remarkably robust over a sequence of releases, despite considerable changes to the optimizer, and they are very effective in detecting regressions. There have never been any problems resulting from any limitations in the expressive capability of XPath, in fact I suspect few of the assertions use more than a very small XPath subset.

Michael Kay

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS