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命名的测试函数。

相关推荐
a5986522 小时前
云手机怎么选?ARM服务器原生架构和X86模拟器差别很大
服务器·arm开发·智能手机
喵了几个咪9 小时前
GoWind CMS 拆解:在 Go 里给 TipTap 搭一套 Yjs 协同后端
开发语言·后端·golang
程序员清风10 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
yyuuuzz11 小时前
跨境站点日志时区混乱的排查记录
运维·服务器·网络·云计算·aws·1024程序员节
数字新视界13 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
运维行者_14 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
2401_8685347814 小时前
陈冲2026年上海纽约大学全英文毕业演讲
服务器·网络
晚风吹北巷15 小时前
Linux复习篇(自用)
linux·运维·服务器·1024程序员节
数字新视界16 小时前
信创机房动环监控技术在智能运维中的应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
无足鸟ICT17 小时前
【RHCA+】reboot命令(重启)
linux·运维·服务器·1024程序员节