对于maven工程来说,默认的integration test是作为构建周期的一个phase进行的,这对一般的工程进行集成测试来说是很方便的,但是对于Hadoop(或HBase)项目来说是不太适合的,主要是因为一方面它们的应用都是在集群环境下运行的,另一方面开发环境可能是windows而非linux,这些原因使得在本地开发环境下使用mvn命令进行integration test变得很不方便,当然,你也可以在集群测试环境上检出代码来进行integration test,但是这样做除了需要在测试集群上建立开发环境,如安装构建工具,配置管理工具等,还有可能在开发测试阶段催生很多细小琐碎的check-in。
就我个人来说,比较倾向的一种干净利落的方式是把测试代码打成jar包,上传至目标集群,使用命令行启动测试(推荐使用testng进行集成测试),通过一个bat脚本把这些动作集成起来,这样做可以在开发端一键完成,使用起来还是非常方便的。实际上,这种操作方式在hadoop这种“基于linux"的"集群“环境下是非常适用和通用的,不只是集成测试,包括项目的部署,服务的启动都可以这样做,从实践上来看,可以大提升开发效率,效果很好。
相关阅读:
Ubuntu 13.04上搭建Hadoop环境