如何在Golang中使用testing包记录日志


推荐使用T.Log、T.Logf等方法记录测试日志,测试失败或加-v参数时自动输出,便于调试。

如何在golang中使用testing包记录日志

在Golang中使用testing包进行测试时,推荐使用T.LogT.Logf等方法来记录日志。这些日志在测试失败时会自动输出,而测试通过时默认不显示,除非你加上-v参数。

使用 T.Log 和 T.Logf 输出测试日志

*testing.T 提供了多个方法用于记录日志信息:

  • T.Log(...interface{}):记录普通日志,自动添加换行
  • T.Logf(format string, args ...interface{}):支持格式化的日志输出
  • T.Error/T.Errorf:记录错误并继续执行
  • T.Fatal/T.Fatalf:记录错误并立即终止当前测试函数

这些方法会将输出绑定到当前测试,只有在测试失败或使用-v标志时才会显示。

示例代码:

func TestAdd(t *testing.T) {
    result := Add(2, 3)
    t.Log("成功计算 2 + 3")
    t.Logf("期望值: 5, 实际值: %d", result)
<pre class="brush:php;toolbar:false;">if result != 5 {
    t.Errorf("Add(2, 3) = %d; want 5", result)
}

}

运行测试并查看日志

默认情况下,测试通过不会打印Log内容:

go test

若想看到日志输出,加上-v参数:

堆友 堆友

Alibaba Design打造的设计师全成长周期服务平台,旨在成为设计师的好朋友

堆友 759 查看详情 堆友
go test -v

输出类似:

=== RUN   TestAdd
    TestAdd: add_test.go:8: 成功计算 2 + 3
    TestAdd: add_test.go:9: 期望值: 5, 实际值: 5
--- PASS: TestAdd (0.00s)
PASS
ok      example/math    0.001s

子测试中的日志记录

在子测试中,每个子测试的日志是独立的,便于定位问题:

func TestMath(t *testing.T) {
    t.Run("Subtract", func(t *testing.T) {
        result := Subtract(5, 3)
        t.Logf("Subtract(5, 3) = %d", result)
        if result != 2 {
            t.Errorf("期望 2, 得到 %d", result)
        }
    })
}

日志会带上子测试名称前缀,结构更清晰。

基本上就这些。用好T.Log系列方法,配合go test -v,能让你的测试过程更透明,调试更高效。不复杂但容易忽略。

以上就是如何在Golang中使用testing包记录日志的详细内容,更多请关注其它相关文章!


# 解决问题  # 企业微站网站建设  # 开阳网络推广营销软件  # 嘉峪关湖南网站建设  # 新乡网站seo电脑维修  # 金华市网络seo  # 黄浦营销推广需要多少钱  # 阜新本地网站建设流程  # 网站建设怎么推广的  # 海鲜市场营销推广  # 成都网站seo优化  # go  # 能让  # 中文网  # 测试中  # 相关文章  # 好朋友  # 多个  # 如何在  # 推荐使用  # 器中  # golang 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: CSS过渡与滚动滚动事件结合应用_scroll与transition动画  使用 J*aScript 随机化 CSS Grid 布局中的元素顺序  掌握Go App Engine项目结构与GOPATH:包管理与导入实践  Mac如何开启画中画模式_Mac Safari浏览器视频画中画功能  铁拳8在线玩 铁拳8在线秒玩入口  海棠阅读登录教程_详细讲解海棠登录操作  多闪电脑版下载_多闪PC端模拟器使用  Windows Audio服务启动失败怎么办_电脑没声音的终极服务修复法【修复】  123平台官方登录入口 123邮箱网页端在线沟通工具  b站怎么设置动态仅粉丝可见_b站动态粉丝可见设置方法  海棠书屋官方在线书籍入口 海棠书屋文学作品浏览官网链接  极兔快递官网查询入口手机版 手机极兔快递登录查询入口官方  秋风萧瑟洪波涌起中的萧瑟指的是什么  《U校园》学生登录入口2025  在VS Code中进行数据科学和机器学习开发  cad怎么隐藏指定的图层_cad隐藏或冻结图层方法  Golang如何使用gRPC拦截器实现日志收集_Golang gRPC拦截器日志收集实践  Flash AS3.0简易相册制作  快递优选如何查优选物流_快递优选专属物流渠道查询与配送时效  《磁力猫》最好用的磁官网  豆包AI怎样为教育场景定制答疑逻辑_为教育场景定制豆包AI答疑逻辑方案【方案】  电脑从睡眠中被自动唤醒怎么办_Windows唤醒源事件查看与禁用【解决】  J*aScript包管理器_Npm与Yarn对比  Lar*el Socialite单设备登录策略:实现用户唯一会话管理  yy漫画官方网站登录入口_yy漫画在线阅读页面地址  Windows自带的便笺数据如何备份_防止数据丢失的便利贴迁移教程【干货】  c++如何实现一个简单的RPC框架_c++远程过程调用原理与实践  手机雨课堂网页版入口免登录 雨课堂网页版可点击直接进入  电脑桌面图标怎么变大变小_Windows个性化设置第一课【新手入门】  TikTok网页版入口快速访问 TikTok官网账号登录方法  百度浏览器无法安装扩展程序_百度浏览器插件安装失败原因解析  行者app怎样导出日志  《下一站江湖2》心法融合技巧  《随手记》启用语音备注方法  苹果手机聊天记录删除了如何恢复  如何用Golang优化微服务间请求性能_Golang 微服务请求性能优化方法  MySQL多重JOIN技巧:高效关联同一表获取多角色信息  哔哩哔哩黑名单怎么查看  《律学法考》查看学习数据方法  Excel宏怎么删除_Excel中删除宏的详细操作流程  折叠屏手机充不进电是什么问题? 特殊结构带来的维修难点  msn官方入口2025登录 msn官网2025直达首页入口  J*a中导出MySQL表为SQL脚本的两种方法  Win10显卡驱动安装失败怎么办 Win10使用DDU彻底卸载驱动【解决】  《合金装备4》有望推出重制版!制作人发话了  抖音商城官网是什么_抖音商城官方网址与访问方法  在XML中嵌入二进制数据(如图片)的最佳实践是什么? Base64编码与解析注意事项  服装短视频如何起号推广?服装短视频起号推广有什么要求?  电脑开不了机怎么办 电脑无法开机的解决方法  FullCalendar自定义按钮样式定制指南 

 2025-10-25

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.