Java JAXB测试手工制作的bean
我有一大堆手工制作的JAXB注释文件和一些手工制作的xsd文件。我还提供了一些示例xml文件,它们应该创建大多数JAXB bean并设置大多数字段 如何测试是否设置了所有重要(95%)属性?我不想手工测试每个bean的每个属性Java JAXB测试手工制作的bean,java,xml,unit-testing,xsd,jaxb,Java,Xml,Unit Testing,Xsd,Jaxb,我有一大堆手工制作的JAXB注释文件和一些手工制作的xsd文件。我还提供了一些示例xml文件,它们应该创建大多数JAXB bean并设置大多数字段 如何测试是否设置了所有重要(95%)属性?我不想手工测试每个bean的每个属性 如果手工制作的bean与xsd文件匹配,我还可以或者作为替代测试吗?您可以解组控制XML文档,然后将它们封送回XML。然后比较这两个XML文档以确保它们包含相同的内容。这将验证往返情况。有两种方法可以处理此问题,最终应为您提供某种自动化;但这完全取决于类和XSD的复杂程度
如果手工制作的bean与xsd文件匹配,我还可以或者作为替代测试吗?您可以解组控制XML文档,然后将它们封送回XML。然后比较这两个XML文档以确保它们包含相同的内容。这将验证往返情况。有两种方法可以处理此问题,最终应为您提供某种自动化;但这完全取决于类和XSD的复杂程度 首先,我将针对您已经拥有的一组类使用JAXB。它可能需要您必须添加到当前代码库中的附加注释。有了这个XSD,您可以(主要是手动)比较这两个XSD,看看它们是否相似。如果在模型XSD中使用选择、全部、抽象、组等,事情可能会变得棘手 然后我将使用XSD工具:
- 从这两个集合中为给定的根元素生成所有可能的XPath,以确保具有相同的覆盖率
- 要使用其中一个XSD自动生成XML样本(取决于哪个XSD是您的黄金拷贝),然后使用另一个XSD进行验证,以发现不一致之处,并使用现有代码对XML进行解组