2012-03-06 52 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文档以确保它们包含相同的内容。这将验证往返情况。