go测试问题记录

Running tool: /home/lexfan/goroot/bin/go test -timeout 30s -run ^TestMlegOrderCreate$ gitlab.futunn.com/institutional-trading-center/futc-oms/oms_write_service/stub_test/futc_oms_write_service

ok gitlab.futunn.com/institutional-trading-center/futc-oms/oms_write_service/stub_test/futc_oms_write_service (cached)

我在单测,突然就变成运行很快,但是不生效,直接ok了,不知道为什么

当 Go 测试输出显示 (cached) 时,这意味着 Go 测试框架没有实际运行测试,而是返回了之前测试运行的结果。Go 1.10 引入了测试结果缓存,目的是为了加快测试的速度。如果自上次成功测试以来源代码和测试代码都没有发生变化,并且测试所依赖的环境(如环境变量和文件)也没有变化,Go 测试框架就会使用缓存的结果。

如果您希望强制重新运行测试并忽略任何缓存的结果,可以使用 -count=1 参数,如下所示:

/home/lexfan/goroot/bin/go test -timeout 30s -run ^TestMlegOrderCreate$ gitlab.futunn.com/institutional-trading-center/futc-oms/oms_write_service/stub_test/futc_oms_write_service -count=1

这将告诉 Go 测试框架忽略缓存,并重新运行指定的测试。-count=1 指定测试至少运行一次,这也意味着不使用任何缓存的结果。

另外,请确保你的测试确实触发了一些代码的变动,因为如果测试无法检测到代码变动(包括测试中依赖的任何文件或环境变量的变动),它可能会直接使用缓存的结果。如果你在测试中有一些动态生成的数据或者外部依赖,你应该确保这些因素在测试运行时能够正确反映。

相关推荐
特立独行的猫A1 分钟前
Godot 游戏编辑器移植鸿蒙 PC:难度与可行性分析
后端·harmonyos
章鱼哥19714 分钟前
DeepSeek Harness 插件开发新手教程
后端·deepseek
特立独行的猫A13 分钟前
C++ 异步编程:std::future 与 std::promise 详解(含 RPC 客户端实现实践)
c++·后端
Anymous18 分钟前
支付为什么要验两次签?——从渠道验签到服务间信任边界与 RSA2
后端
m0_3807438719 分钟前
PHP7.1项目升级到8.3报错怎么解决
开发语言·php
泡海椒33 分钟前
JQuick-Excel 字段映射实战:用 MAPPING 固化 Excel 表头与业务字段契约
xml·java·开发语言·excel
lcj251134 分钟前
【C++】set和map——详细使用说明
开发语言·c++·笔记·面试
潼心1412o35 分钟前
C++初阶(长期更新)第3讲:类和对象(中)
开发语言·c++
南归北隐39 分钟前
Spring AI Alibaba Graph框架实现Tools工具调用
java·后端·spring·spring ai·spring ai tools
外收内放1 小时前
Python基础语法练习题(40-42)
开发语言·python