我有一个XML模式文件,并已生成的课程。在开发过程中,xsd可以改变。我怎样才能确保xsd和生成的类是同步的?如何自动测试xsd和生成的类是否同步?
有可能通过maven在构建时生成类。使用这个或不是,我想在单元测试中确定。
感谢和问候 Steff
我有一个XML模式文件,并已生成的课程。在开发过程中,xsd可以改变。我怎样才能确保xsd和生成的类是同步的?如何自动测试xsd和生成的类是否同步?
有可能通过maven在构建时生成类。使用这个或不是,我想在单元测试中确定。
感谢和问候 Steff
在何种情况下才无法同步? 虽然我可以想象writing a simple JAXB plugin哪一个将模式时间戳添加到生成的类 - 以便您可以比较单元测试中的时间戳。
但是我对整个方法有疑问。架构编译是构建过程的一部分,这必须完美无缺。您没有检查Java文件是否与已编译的.class
文件“同步”,对吗?模式编译的情况也是如此。
感谢您的回答。不,我不检查.class文件本身,但我可以检查源是否代表模式。情况是,虽然产品正在开发中,但模式并非完美无缺。那么随着时间的推移,稳定性会越来越强 – Steff
你强制执行每一代的生成。或者根据Profile
不要执行这么多次,并且让您的编译时间更长。
在这里你可以看看一个JAXB
插件,用于每次生成源代码。
你可以尝试从生成的类创建XML和验证对XSD生成的XML在单元测试。 – flash
我打算说“反思”,但我宁愿去从模式中重新生成类作为构建过程中的测试依赖项 - 这样,每次更改都不需要重构单元测试制作。所以,嗨,测试*是*重新生成类 – raven
嗨闪光,这是一个好主意,谢谢。 – Steff