go:vscode 关闭go test 缓存 / go test 测试结果没有更新

关键字:vscode go, go test 缓存, 测试结果没有更新
案例情况:使用go test进行测试,没有修改测试代码的情况下, 重复多次测试,发现测试结果没有变化。如在外部修改了数据库,但是在go test查询mysql却显示之前的查询结果。

一、情况说明

情况说明:这是因为测试并没有被实际运行,显示的是之前缓存的测试结果。从Go1.10开始,测试结果将被缓存,golang缓存测试结果这点在官方文档也能看到说明。见:https://golang.org/cmd/go/#hdr-Testing_flags说明。当go test以包列表模式运行时,go test会缓存成功的包的测试结果以避免不必要的重复测试。当你的测试代码没有变化的时候,它会显示缓存下来的测试结果。
附:根据测试结果来看,显示哪一次测试结果,是看你当前测试代码的签名,类似于map[代码签名]测试结果。如果你只是添加了几个字符,测试后又删掉,那么代码的签名和添加字符前一样,再次测试的时候还是显示的是之前的缓存。

二、vscode 禁用 go test缓存

要禁用go test的缓存,需要添加参数:-count=1。那么go test的命令是这样子的:
go test -v -count=1 gofile_test.go

在vscode中添加步骤:

  1. 左下角打开设置
  2. 配置项搜索 “go”
  3. 选择工作区设置,如果需要全局设置禁用缓存的话,用户设置也需要重复同样的操作
    4.添加参数-count=1(-v 的参数设置是测试时显示打印信息)
    在这里插入图片描述

在这里插入图片描述
最后:可以看到已经有-count=1的参数了
在这里插入图片描述

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值