Go-单元测试

单元测试

  • 测试用例的命名必须 是以xxx_test.go的格式

  • 测试用例函数必须 以TestXxx开头,一般来说是Test+被测试函数名,且必须为大驼峰命名

  • TestAdd(t *tesing.T)的形参类型必须是*tesing.T

  • 运行测试用例指令

    • cmd>go test 运行正确,无日志;错误时,会输出日志
    • cmd>go test -v 运行不管正确还是错误,都输出日志
  • 出现错误时,使用t.Fatalf来格式化输出错误信息 ,并退出程序;t.Logf方法可以输出响应日志

代码示例

  • cal.go
go 复制代码
package uintTest

import "time"

func Add(a, b int) int {
	time.Sleep(time.Second * 1)
	return a + b
}
  • cal_test.go
go 复制代码
package uintTest

import "testing"

func TestAdd(t *testing.T) {
	res := Add(1, 2)
	if res != 3 {
		t.Fatalf("Add() 执行错误")
	}
	t.Logf("Add() 执行正确...")
}

运行过程

程序在执行main函数前,先检测是否存在xxx_test.go文件的存在,若有则加载testing框架,然后执行以TestXxx命名的测试函数。

相关推荐
看浪的路人6 小时前
第7讲:大模型后端服务化——Go 实现高并发 LLM Proxy / Router / Fallback
开发语言·后端·golang
祖力556 小时前
驱动工程搭建与字符设备驱动框架
linux·运维·服务器·内核·arm·imx6ull·驱动
发量惊人的中年网工6 小时前
SD-WAN 组网方案怎么选?跨地域与多分支企业的选型指南(含成本对比)
服务器·网络·数据库
斯晨的AI笔记6 小时前
在服务器上跑 npm ci 四十分钟没装完,我打包把 node_modules 扔了过去
服务器·node.js
曦樂~7 小时前
Symmetric Ciphers对称加密
运维·服务器
刚入门的大一新生7 小时前
Linux-Ext系列文件系统
linux·运维·服务器
bmxy小明同学8 小时前
2026-10-11-幻觉治理
服务器·前端·javascript
灯澜忆梦9 小时前
【Go Zap 日志库】#1 |快速上手 + 配置详解
开发语言·后端·golang
.Hypocritical.9 小时前
SpringBoot+Vue 前后端分离项目部署到云服务器
服务器·vue.js·spring boot
此生决int10 小时前
Linux系列(06)——进程概念(上)
linux·运维·服务器