小结
在开发一个“重集成”的JavaEE Web应用的过程中,自动化测试中对被集成服务的依赖使得构建过程变得缓慢而脆弱。通过对集成点实现的考察,我们识别出一个典型的集成点设计模式。基于此模式以及与之对应的测试策略,借助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