2012-03-06 26 views
4

我有一大堆手工製作的JAXB註釋文件和一些手工製作的xsd文件。我還有幾個應該創建大多數JAXB bean並設置大多數字段的示例xml文件。JAXB測試手工製作的豆子

如何測試是否所有重要的(95%)屬性設置?我不想手動測試每個bean的每個屬性。

我可以或許也或作爲替代測試,如果手工製作的豆匹配與XSD文件?

回答

2

有一對夫婦的方式來處理這個問題,這應該爲您提供某種到底自動化;但這一切都取決於你的類和XSD的複雜程度。

我會用JAXB的schemagen與設定的你已經有了類開始。它可能需要額外的註釋,您可能需要添加到您當前的代碼庫。有了這個XSD,您可以(主要是手動)比較兩個XSD,看看它們是否相似。如果在模型XSD中使用選項,全部,抽象,組等,事情會變得棘手。

我會再使用XSD工具:

  • 生成來自這兩個組的所有可能的XPath,對於給定的根元素,以確保你有相同的覆蓋範圍。
  • 使用的XSD之一自動生成XML樣本,這取決於哪一個是你的金副本,然後使用另一個XSD驗證它 - 察覺不一致性,以及使用現有的代碼解組XML。

正如Blaise所描述的那樣,編組和比較(理想情況下使用模式感知的XML比較,然後XML意識到,文本比較很可能是無用的)。

1

你可以解組控制XML文檔,然後元帥他們回到XML。然後比較兩個XML文檔以確保它們包含相同的內容。這將驗證往返情況。