在軟件開發周期中,需要不時地驗證 XML 文檔的結構或內容。不管構建的是何種應用程序,測試 XML 文檔都具有一定的挑戰性,尤其是在沒有相關工具的情況下就更是如此。
本月,我將首先向您說明為何不能 使用 String 比較來驗證 XML 文檔的結構和內容。之后,我會介紹 XMLUnit,一個由 Java 開發人員創建并可服務于 Java 開發人員的 XML 驗證工具,向您展示如何使用它來驗證 XML 文檔。
古典的 String 比較
首先,假設您已經構建了一個應用程序,該應用程序可以輸出代表對象依賴性報告的 XML 文檔。對于給定的類和對應的過濾器的集合,會生成一個報告來輸出類和類的依賴項(想象一下導入)。
清單 1 顯示了用于給定類列表(com.acme.web.Widget 和 com.acme.web.Account)的報告,過濾器被設為忽略外部類,比如 java.lang.String:
清單 1. 一個示例依賴性 XML 報告
<DependencyReport date="Sun Dec 03 22:30:21 EST 2006">
<FiltersApplied>
<Filter pattern="java|org"/>
<Filter pattern=.net."/>
</FiltersApplied>
<Class name="com.acme.web.Widget">
<Dependency name="com.acme.resource.Configuration"/>
<Dependency name="com.acme.xml.Document"/>
</Class>
<Class name="com.acme.web.Account">
<Dependency name="com.acme.resource.Configuration"/>
<Dependency name="com.acme.xml.Document"/>
</Class>
</DependencyReport>
清單 1 很明顯是由應用程序生成的;因而,第一層測試就是驗證應用程序是否真能生成一個文檔。一旦驗證了這一點,就可以繼續測試指定文檔的其他三個方面:
結構
內容
指定內容
可以通過單獨使用 JUnit 利用 String 比較處理上述前兩個方面,如清單 2 所示:
文章來源于領測軟件測試網 http://www.kjueaiud.com/