稻花香

软件开发,喜欢读书,编程,禅修

单元测试工具gomonkey

06 Feb 2022 » golang

gomonkey

  • 隔离被测代码
  • 加速执行测试
  • 使执行变得确定
  • 模拟特殊情况

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

函数打桩, 对变量的 mock 实现原理跟 gostub 一样都是通过 reflect 包实现的。除了 mock 变量,gomonkey 还可以直接 mock 导出函数/方法、mock 代码所在包的非导出函数