小結
在開發一個“重集成”的JavaEE Web應用的過程中,自動化測試中對被集成服務的依賴使得構建過程變得緩慢而脆弱。通過對集成點實現的考察,我們識別出一個典型的集成點設計模式?;诖四J揭约芭c之對應的測試策略,借助Moco這個測試工具,我們能夠很好地隔離對被集成服務的依賴,使構建過程快速而可靠。
隨后我們還考察了已有的集成點實現,并將其重構成為前文所述的結構,從而將同樣的測試策略應用于其上。通過這個過程,我們驗證了:本文所述的測試策略是普遍適用的,遺留系統同樣可以通過文中的重構過程達到解耦實現、從而分層測試的目標。
[1] “構建”一詞在本文中是指使用自動化的構建工具(例如Maven)將源代碼變為可交付的軟件的過程。一般而言,JavaEE系統的構建過程通常包括編譯、代碼檢查、單元測試、集成測試、打包、功能測試等環節。
[2] https://github.com/dreamhead/moco
[3] http://www.openptk.org/
[4] http://dreamhead.blogbus.com/
[5] https://github.com/GarrettHeel/moco-maven-plugin
[6] http://cukes.info/
[7] 筆者使用的mock框架是Mockito:https://code.google.com/p/mockito/
[8] http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
[9] http://maven.apache.org/plugins-archives/maven-failsafe-plugin-2.12.4/
[10] http://velocity.apache.org/
[11] http://jdom.org/
[12] 《重構》,3.1小節。
感謝侯伯薇對本文的審校。
原文轉自:http://www.infoq.com/cn/articles/enterprise-systems-integration-points