Go
文章平均质量分 61
安正勋
点点滴滴,皆是学问,看到了、学会了、记住了,便是收获、便是进步。
展开
-
使用 gomonkey Mock 函数及方法时遇到 panic: permission denied 的问题及解决方法
基于 Golang 语言,使用 gomonkey 来 mock 函数及方法,在 Mac 环境执行的时候,遇到如下错误:panic: permission denied [recovered]panic: permission denied显然,执行单测的时候,遇到了权限问题。原创 2022-06-13 10:43:27 · 7757 阅读 · 2 评论 -
使用 gomonkey Mock 函数及方法
在 Golang 语言中,写单元测试的时候,不可避免的会涉及到对其他函数及方法的 Mock,即在假设其他函数及方法响应预期结果的同时,校验被测函数的响应是否符合预期。其中,在 Mock 其他函数及方法的时候,我们常用到的一个测试类库是 gomonkey。特别地,对于方法和函数的 Mock,略有差异,在这里我们就分别给出函数和方法 Mock 示例,方便大家参考。原创 2022-06-02 11:19:18 · 4460 阅读 · 1 评论 -
使用 gomonkey 遇到非 debug 模式执行失败的问题及解决方法
基于 Golang 语言,写单元测试,使用gomonkey对于某个函数进行 Mock,遇到如下问题:- 使用「正常模式」执行单元测试,Patch不生效,Mock 失败;- 使用「Debug模式」执行单元测试,Patch生效,Mock 成功。说实话,看到这样的现象感觉很怪异,那么,为什么会出现这个问题呢?原创 2022-06-01 19:59:11 · 4546 阅读 · 0 评论 -
浅析 Golang 垃圾回收机制
Google 搜索 Golang GC 排名靠前的文章都讲的不错,从设计到实现,从演进到源码,一应俱全。但是庞杂的信息会给人一种恐惧感,让人望而却步。本文尝试使用较为简单易懂的语言和图像,讲解 Golang 的垃圾回收机制。转载 2016-12-21 19:40:42 · 9782 阅读 · 5 评论 -
如何正确使用 Go 语言中的 Context 对象?
context.Context是Go中定义的一个接口类型,从1.7版本中开始引入。其主要作用是在一次请求经过的所有协程或函数间传递取消信号及共享数据,以达到父协程对子协程的管理和控制的目的。转载 2016-12-20 15:15:59 · 9019 阅读 · 0 评论 -
记一次 Gorm 批量插入遇到的问题以及解决方案
文章目录问题现象解决方案问题现象最初,我们用的是老版本的 Gorm,但是因为老版本不支持批量插入的功能,所以我们将 Gorm2 做了升级,升级到1.21.9版本。https://github.com/go-gorm/gorm/releases/tag/v1.21.9升级之后,Gorm 确实支持了批量插入的功能。但因为我们后续用到了批量插入返回的记录ID,也就是数据库自增生成的主键 ID 这个值,这时就出现了问题。当然,出现这个问题是有一个前提的,那就是数据库设置的自增步长大于 1,如果自增步长是原创 2021-06-17 22:34:11 · 5435 阅读 · 1 评论