2011-10-19 91 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

相關問題