Hadoop分布式文件系统模拟桩HDFS_MOCK
简介 Hdfs_mock属于单测工具,如果c/c++模块以API方式访问hdfs(相对于脚本模块会使用客户端方式),那么有了hdfs_mock就可以在没有真实hdfs情况下,协助进行手工或自动化测试。背景在linkcache模块单元测试(持续集成)时,遇到了一个问题:该模块会以API方式进行hdfs上文件的增删改查等操作,先不说搭建hdfs是一件费时费力得不尝试的事情,即使在单测阶段能够采用搭建真实环境进行测试,仍然存在以下弊端: • 异常测试:hdfs异常情况难于模拟,导致测试覆盖不全面 • 执行时间:访问真实hdfs,自动化测试执行时间难以保证,给快速持续集成带来挑战 • 环境维护:为了支持持久、频繁的持续集成测试,hdfs环境需要始终维持不能变动 • 环境独立:hdfs环境需要与其他测试模块隔离,才能避免相互影响思路分析模块执行过程后发现,c/c++模块在使用API访问hdfs时,采用共享对象so的方式实现。编译时包含标准hdfs.h头文件,运行时查找libhdfs.so中API的实现来完成hdfs访问过程。基于以上分析,设计开发了单测工具hdfs_mock用以替代libhdfs...