广告
返回顶部
首页 > 资讯 > 后端开发 > GO >关于golangtest缓存问题
  • 214
分享到

关于golangtest缓存问题

2024-04-02 19:04:59 214人浏览 薄情痞子
摘要

在使用vscode进行debug golang 时,出现test结果缓存的情况导致若干次test结果一致问题设置Go test不用缓存官方说明https://pkg.go.dev/c

在使用vscode进行debug golang 时,出现test结果缓存的情况
导致若干次test结果一致问题
设置Go test不用缓存
官方说明
https://pkg.go.dev/cmd/go#hdr-Test_packages
设置:
找到设置

找到test设置

添加"-count=1"

再进行run test就可以了

补充:下面再次介绍下go test 缓存

在执行go test的时候发现, 每次执行时间竟然一致, 然后发现是go test又缓存

Go test 支持两种模式:

1.Local directory mode, 在调用 go test 时,没有加参数 (比如 go test 或 go test -v)。在这种模式下,缓存会被禁用。 会编译当前目录下的代码和测试,然后运行测试二进制程序。

2.Package list mode,执行 go test时,指定文件路径 (比如 go test math, go test ./...)。在这种模式下,会编译并测试路径列出的每个测试文件。go test 会缓存成功的测试结果,以避免不必要的重复运行测试。当再次执行测试时,会检查缓存中对应的测试结果是否 OK, 如果 OK 会重新显示之前的输出,而不会运行测试二进制文件。此时 go test 会打印 '(cached)' 标识。
回过头来再看下项目的测试脚本:

CGO_ENABLED=1 go test -v --mod=vendor ./pkg/...

运行在 Package list mode, 所以单测通过后的二次测试, 会走 cache。

解决方案

有以下三种方式, 在测试中禁用缓存:

1.执行 go test 添加 --count=1 参数(推荐,效率高),以上面????例子:

CGO_ENABLED=1 go test -v --count=1 --mod=vendor ./pkg/...

2.Go 官方提供 clean工具,来删除对象文件和缓存文件, 不过这种方式相对麻烦:

go clean -testcache // Delete all cached test results

3.设置 GOCACHE 环境变量。GOCACHE 指定了 go 命令执行时缓存的路径,以便之后被复用。 设置 GOCACHE=off 即可禁用缓存。(go 1.12 之后,不能将其设置为off)

到此这篇关于golang test缓存问题的文章就介绍到这了,更多相关golang test缓存内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: 关于golangtest缓存问题

本文链接: https://www.lsjlt.com/news/121137.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 关于golangtest缓存问题
    在使用vscode进行debug golang 时,出现test结果缓存的情况导致若干次test结果一致问题设置go test不用缓存官方说明https://pkg.go.dev/c...
    99+
    2022-11-11
  • 面试官会问到哪些关于缓存和 Linux 的问题?
    在计算机系统中,缓存是一种常见的技术,它被广泛应用于各种场景中,例如数据库、网络通信、图形处理等。Linux 是一种常见的操作系统,因为它的高度定制性和开放性,也被广泛应用于各种场景中。因此,面试官经常会问到关于缓存和 Linux 的问题...
    99+
    2023-06-13
    面试 缓存 linux
  • C语言中关于scanf读取缓存区的问题
    目录前言scanf函数的定义功能:执行格式化输入总结解决方法前言 在牛客做了很多坑爹的题,明明代码没问题但是就退无法AC,看了很多题解之后,发现是scanf读取缓存区,在输入输出时出...
    99+
    2022-11-12
  • vue关于点击详情页面keep-alive的缓存问题
    目录点击详情页面keep-alive的缓存问题vue中路由表单缓存(keep-alive)页面效果父组件代码被缓存组件代码点击详情页面keep-alive的缓存问题 今天有个列表&n...
    99+
    2022-11-13
  • 关于Android SDCard存储的问题
    使用Activit的openFileOutput()方法保存文件,文件是放在手机内在上;注:模拟器中创建SDCard卡镜像文件,可以在创建模拟器是创建,也可以在Dos窗口中进行...
    99+
    2022-06-06
    Android
  • Redis缓存相关的几个问题
    1  缓存穿透 问题描述 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来压力。 解决方案 缓存空值,即对于不存在的数...
    99+
    2018-11-06
    Redis缓存相关的几个问题
  • 关于缓存穿透,缓存击穿,缓存雪崩,热点数据失效问题的解决方案(转)
    1.我们使用缓存时的业务流程大概为: 当我们查询一条数据时,先去查询缓存,如果缓存有就直接返回,如果没有就去查询数据库,然后返回。这种情况下就可能出现下面的一些现象。 2.缓存穿透 2.1什么是缓存穿透 缓存穿透是指查询一个一定不存在的数...
    99+
    2017-06-16
    关于缓存穿透,缓存击穿,缓存雪崩,热点数据失效问题的解决方案(转)
  • 关于redis缓存的面试题有哪些
    这篇文章将为大家详细讲解有关关于redis缓存的面试题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。redis缓存的面试题1、redis和memcached什么区别...
    99+
    2022-10-18
  • 如何在面试中回答关于 Java 索引缓存的问题?
    Java 索引缓存是一个非常重要的话题,特别是在面试中可能会被问到。本文将介绍 Java 索引缓存的概念、工作原理以及如何在面试中回答相关问题。 什么是 Java 索引缓存? Java 索引缓存是一种在内存中存储数据库索引数据的技术。它的作...
    99+
    2023-10-29
    索引 缓存 面试
  • 在面试中如何回答关于 Go 和缓存管理的问题?
    Go 语言是一种快速、简单、安全的开发语言,而缓存管理是任何大规模应用程序的核心。当你参加面试时,面试官可能会问你关于 Go 和缓存管理的问题。在本文中,我们将讨论一些常见的问题,以及如何回答它们。 Go 语言中有哪些缓存库? 在 G...
    99+
    2023-06-13
    面试 缓存 linux
  • Java关于MyBatis缓存详解
    目录什么是 MyBatis 缓存MyBatis 缓存分类1.⼀级缓存:SqlSession级别,默认开启,并且不能关闭.(默认开启)2.二级缓存:Mapper 级别,默...
    99+
    2022-11-12
  • 关于JVM默认堆内存大小问题
    目录JVM默认堆内存大小堆内存JVM默认分配堆内存是多少总结JVM默认堆内存大小 我们都知道jvm有一个堆内存的概念,我们可以通过-Xmx:最大堆内存,-Xms初始化堆内存来进行设置...
    99+
    2023-02-14
    JVM默认堆内存大小 JVM默认堆 JVM堆内存大小
  • 缓存穿透问题
     一. 缓存穿透 (请求数据缓存大量不命中):    缓存穿透是指查询一个一定不存在的数据,由于缓存不命中,并且出于容错考虑, 如果从存储层查不到...
    99+
    2022-10-18
  • 关于C++虚继承的内存模型问题
    1、前言 C++虚继承的内存模型是一个经典的问题,其具体实现依赖于编译器,可能会出现较大差异,但原理和最终的目的是大体相同的。本文将对g++中虚继承的内存模型进行详细解析。 2、...
    99+
    2022-11-12
  • 关于Python dict存中文字符dumps()的问题
    Background 之前数据库只区分了Android,IOS两个平台,游戏上线后现在PM想要区分国服,海外服,港台服。这几个字段从前端那里的接口获得,code过程中发现无论如何把中...
    99+
    2022-11-12
  • 关于SpringCloudStream配置问题
    目录SpringCloudStream配置Stream配置Kafka绑定器配置总结SpringCloudStream配置 以下配置摘自《SpringCloud微服务实战》,配置主要包...
    99+
    2022-12-28
    SpringCloudStream配置 SpringCloudStream
  • 关于Dubbo初始问题
    目录Dubbo架构节点角色说明过程Zookeeper安装Dubbo快速入门jar包依赖开始配置dubbo配置zk总结Dubbo架构 消费者:调用提供者,但是不能直接调,需要借助注...
    99+
    2023-03-01
    Dubbo初始 关于Dubbo初始 Dubbo初始问题
  • 关于JSP中文问题
    在jsp中,中文乱码常会让人心乱如麻。 对于 中文处理的常见对策,在网上经常可见的主要是下面2种: 或者: 虚拟小龙亭也主要采用了上面2种方法进行了修改,从而变成了1.1版。 通过简单总结,示例中的中文处理发生于以下几个地方: 1 在u...
    99+
    2023-06-03
  • VB关于FindWindowEx的问题
    FindWindowEx函数用于在指定窗口的子窗口中查找符合指定条件的窗口。它的声明如下:Public Declare Functi...
    99+
    2023-08-08
    VB
  • LeetCode上有哪些关于Java文件缓存的好题目?
    Java 文件缓存是一个非常重要的话题。在大多数 Java 应用程序中,文件缓存是一种非常常见的技术,它可以提高应用程序的性能。在 LeetCode 上,也有一些关于 Java 文件缓存的好题目,这些题目可以帮助我们深入了解 Java 文件...
    99+
    2023-07-25
    文件 缓存 leetcode
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作