内容简介:(金庆的专栏 2018.10)用 gotest 运行一个测试,往 mongodb 中插入一条,发现有时灵,有时不灵。因为错误地怀疑 mgo 用错了,耗费了不少时间。
gotest 是有缓存的
(金庆的专栏 2018.10)
用 gotest 运行一个测试,往 mongodb 中插入一条,发现有时灵,有时不灵。
因为错误地怀疑 mgo 用错了,耗费了不少时间。
最终发现是因为 gotest 是有缓存的,输出的是上次运行的结果,但是并没有实际运行代码。
运行有效是因为代码刚改过,测试时会实际运行。
最终也是无意间发现的。给 mgo 开启了调试日志,然后比较2次运行,发现输出是一样的,
只有一行不同:
ok mail-server/server 0.519s ok mail-server/server (cached)
明确显示了第2次是缓存。前面运行了几十次都忽略了 cached 这个输出。
为了禁止缓存,可加上 -count=1 参数:
go test -count=1
以上所述就是小编给大家介绍的《gotest 是有缓存的》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 轻松学会HTTP缓存(强缓存,协商缓存)
- 常见面试题之缓存雪崩、缓存穿透、缓存击穿
- HTTP缓存 - 强缓存/协商缓存/浏览器刷新
- mybatis教程--查询缓存(一级缓存二级缓存和整合ehcache)
- 如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
- 缓存穿透和缓存击穿处理
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。