另外 , 生成的mock数据中如果存在一些依赖于外部系统的唯一ID , 允许传入一个ID生成器的hook , 确保生成的Mock数据中的唯一ID在指定范围内 。
然后 , 生成的mock数据需要持久化到硬盘上 , 以提供长期使用 。
最后 , 可以指定生成某个API相关的mock数据 , 而非全部数据 。
/02 清除数据/可以通过清除数据 , 重置mock数据回到初始状态 , 以清理不符合当前API标准的垃圾数据 。 实现这个功能主要有两个点:
- 清除数据时需要考虑数据间的关联关系 , 比如清除单据类数据时 , 也应当清除与该单据相关的明细数据 。
- 可以指定清除某个指定API的mock数据 , 而非全部数据 。
- 可以导出指定API的mock数据 , 而非全部数据 。
- 导出的数据建议为csv或者excel格式 , 便于二次编辑 。
导入数据时 , 需要进行数据合法性验证 。 如果数据不合法 , 需要进行处理 , 有两种情况:
- 缺失的数据 , 如果可以自动填充缺省值 , 则自动修正 。
- 非法数据或者无法自动填充的缺失数据 , 进行相应的提示 。
/06 mock数据的条件匹配/可以对mock数据的返回内容进行「条件匹配」配置 , 以满足两种能力:
1. 限定返回的数据范围 。
2. 实现返回的出参一定与入参存在相关性 。
/07 mock外部依赖数据/可以将以上能力运用在所依赖的外部数据上 , 以提供系统「无依赖独立运行」的能力 。
具备这个能力后 , 你所负责系统的测试工作可以不用等待所依赖的外部系统全部都准备就绪后才能开展 , 可以独立进行 。
好了 , 就这么多 。 可能有的小伙伴会觉得 , 要实现这么多能力 , 得多大工作量啊 。
我觉得这个问题不能这么考虑 , 我们还要考虑这个工具可以节省多少时间 。 节约的这个时间不仅仅是你自己做自测的时间 , 还有团队中其他人的时间 。 而且这个工具可以长期反复使用 , 时间拉得越长 , 它所发挥的价值也越大 。
惯例总结一下 。
这篇呢 , Z哥和你分享了一个我认为很有价值的工具 , 一个需要我们自行开发的mock工具 , 它可以提升整个团队的长期效能 。
这个工具需要实现以下7个能力:
- 自动生成mock数据
- 清除数据
- 导入数据
- 导出数据
- mock开关
- mock数据的条件匹配
- mock外部依赖数据
不知道你是如何看待类似的mock工具的?欢迎和大家一起聊聊你的看法~
推荐阅读:
- 程序员必备 , 《新老系统切换宝典》
- golang使用3周总结
- 跑分|vivoS16Pro选用9000芯片,103万高跑分+1亿像素,配置崛起了
- 芯片|外媒:老美“加码”相关限制后,更为“棘手”的后果已经出现!
- 小米科技|小米两款“Ultra”新机齐遭曝光,分别搭载骁龙8+和天玑9000+芯片
- iqoo|iQOO 10系列搭载蓝厂自研V1 ISP芯片 有望首发天玑9000+新机版本
- 小米科技|vivoX80和小米12掰手腕,均有4nm芯片,价格都是3699元该买谁?
- 芯片|二手商品可以放心买吗?体验转转买手机后,我有话说
- 芯片|美媒:“断供”就是个错误,华为已经突破了
- Google|这才是“小钢炮”,A15芯片+5.42英寸小屏+140g,已降至4599元起
- 众多搭载国产芯片的百元手机能买吗?是便宜没好货还是高性价比?
- 红米手机|天玑8100+独显芯片+旗舰主摄,256GB跌至2199元,性价比不输红米
