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

相关推荐
Tim风声(网络工程师)6 小时前
排查内网互联网访问流程
运维·服务器·网络
测试员周周6 小时前
【AI测试智能体】为什么传统测试方法对智能体失效?
开发语言·人工智能·python·功能测试·测试工具·单元测试·测试用例
平凡但不平庸的码农6 小时前
Go Slice 详解
算法·golang
坚持就完事了7 小时前
Linux中如何添加环境变量
linux·运维·服务器
白緢8 小时前
一、Linux 基础入门
linux·运维·服务器
随风,奔跑9 小时前
Nginx
服务器·后端·nginx·web
仰望星空的打工人9 小时前
cypht无法获取163、126邮件
服务器·网易邮箱大师
xhbh66610 小时前
Windows端口转发完全教程:netsh命令详解与实战案例
服务器·网络·ip·流量转发·端口流量转发
团象科技10 小时前
2026出海趋势观察:国际云服务器推荐重构企业全球化经营底盘
运维·服务器·重构
mzhan01712 小时前
Linux: coredump产生对程序退出的影响
linux·运维·服务器