2011-10-19 57 views
0

我有一个XML模式文件,并已生成的课程。在开发过程中,xsd可以改变。我怎样才能确保xsd和生成的类是同步的?如何自动测试xsd和生成的类是否同步?

有可能通过maven在构建时生成类。使用这个或不是,我想在单元测试中确定。

感谢和问候 Steff

+0

你可以尝试从生成的类创建XML和验证对XSD生成的XML在单元测试。 – flash

+0

我打算说“反思”,但我宁愿去从模式中重新生成类作为构建过程中的测试依赖项 - 这样,每次更改都不需要重构单元测试制作。所以,嗨,测试*是*重新生成类 – raven

+0

嗨闪光,这是一个好主意,谢谢。 – Steff

回答

2

在何种情况下才无法同步? 虽然我可以想象writing a simple JAXB plugin哪一个将模式时间戳添加到生成的类 - 以便您可以比较单元测试中的时间戳。

但是我对整个方法有疑问。架构编译是构建过程的一部分,这必须完美无缺。您没有检查Java文件是否与已编译的.class文件“同步”,对吗?模式编译的情况也是如此。

+0

感谢您的回答。不,我不检查.class文件本身,但我可以检查源是否代表模式。情况是,虽然产品正在开发中,但模式并非完美无缺。那么随着时间的推移,稳定性会越来越强 – Steff

0

你强制执行每一代的生成。或者根据Profile不要执行这么多次,并且让您的编译时间更长。

在这里你可以看看一个JAXB插件,用于每次生成源代码。

http://java.net/projects/maven-jaxb2-plugin/pages/Home

+1

推荐的插件在这里:http://java.net/projects/maven-jaxb2-plugin/pages/Home – Puce

+0

+1:谢谢你的纠正 – ssedano

相关问题