保存成功
保存失败,请重试
提交成功

GoMonkey1.0 框架设计与应用实践

作者/分享人:张晓龙
多年软件架构和开发经验,DDD China 2017 和 2018 演讲嘉宾,ArchSummit 2019 演讲嘉宾,Go 语言 gomonkey 和 trans-dsl 作者,爱读书、爱运动、爱编程、爱分享,对于大型软件的重构具有丰富的经验。这几年指导多个团队积极实践 XP,包括开发领域和测试领域,取得了比较好的效果。个人简书主页:https://www.jianshu.com/u/1381dc29fed9 ,个人 GitHub 主页:https://github.com/agiledragon

GoMonkey 是作者为 Go 语言开发的一款打桩框架,目标是让用户在单元测试中低成本的完成打桩,从而将精力聚焦于业务功能的开发。GoMonkey 接口友好,功能强大,目前已被很多项目使用,用户遍及世界多个国家。

GoMonkey 的特性列表:

  • 支持为一个函数打一个桩
  • 支持为一个成员方法打一个桩
  • 支持为一个全局变量打一个桩
  • 支持为一个函数变量打一个桩
  • 支持为一个接口打一个桩
  • 支持为一个函数打一个特定的桩序列
  • 支持为一个成员方法打一个特定的桩序列
  • 支持为一个函数变量打一个特定的桩序列
  • 支持为一个接口打一个特定的桩序列

GoMonkey 初步计划了 2 个大版本:

  • GoMonkey1.0 提供丰富的命令式 API,可以满足用户各种场景的基本打桩诉求
  • GoMonkey2.0 提供强大的 DSL,增强打桩功能,同时提升易用性

GoMonkey1.0 在 Github 发布一年后,已获得 200 多个 star,同时即将启动 GoMonkey2.0 的开发。在这个承上启下的阶段,作者想写一篇 Chat 来系统梳理 GoMonkey1.0 框架设计与应用实践。

本 Chat 的主要内容包括:

  • GoMonkey 介绍
    • GoMonkey 是什么
    • GoMonkey 与其他打桩框架的比较
      • GoMonkey 与 GoMock 的比较
      • GoMonkey 与 GoStub 的比较
      • GoMonkey 与 Monkey 的比较
  • 框架设计
    • API 设计
    • 领域模型
    • 跨平台
    • 注意事项
  • 应用实践
    • 为一个函数打一个桩
    • 为一个成员方法打一个桩
    • 为一个全局变量打一个桩
    • 为一个函数变量打一个桩
    • 为一个接口打一个桩
    • 为一个函数打一个特定的桩序列
    • 为一个成员方法打一个特定的桩序列
    • 为一个函数变量打一个特定的桩序列
    • 为一个接口打一个特定的桩序列
已有77人预订
预订达标
文章出炉
     
09月26日
10月08日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张张晓龙的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
你可能还喜欢
如何依靠副业赚钱,应对人到中年的职场危机
代码GG陆晓明
数据结构算法常见的 100 道面试题全解析:2019 版
攻城狮
怎样的一份“副业”,能让你不依赖“死工资”?
一尘
Redis 面试题全解析
驰骋
送卫衣:GitChat 1024 留言有奖活动来啦!
GitChat 内容组
Redis 难题突破,最经典 36 题含详细解析
慕容千语
【有奖活动】用一句话证明你是程序员
🐡赵小胖
Zookeeper 详解与实践,你面试工作都绕不开的必考题!
latent
前端 MVVM 模式中的数据层(Model)实战应用
Think.
VSCode 使用教程:使用好的工具提高你的工作效率
暖和狐狸
详解 Google Protocol Buffer 协议
拾贝壳的人
大白话聊技术之 Redis 秒杀系统的设计与实现
咔咔
让架构师和研发团队争论了 10 分钟的简单事务问题
zaqweb
线程池原理及优化
ilomilo
深度学习必备之高等数学知识加油站
奔跑的小米
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效