金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  423 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks
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

posted on 2018-10-29 18:47 金庆 阅读(704) 评论(0)  编辑 收藏 引用 所属分类: 3. Golang

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理