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

相关推荐
时空无限4 分钟前
ubuntu 26.04 sudo 连不上主机卡住然后失败问题处理
linux·服务器·ubuntu
外收内放36 分钟前
ENSP学习记录(4)
服务器·学习·智能路由器
码剑客44 分钟前
Gin+GORM+Redis 项目开发常见性能坑汇总(Go后端避坑指南)
redis·后端·golang·gin
凯基迪科技1 小时前
瑞萨R5F100解密 R8C/RL78 MCU 固件读取与保护机制详解
服务器·网络·单片机
FungLeo1 小时前
成为全栈·Go 后端篇·换后端不改前端:四个客户端如何做兼容回归
flutter·golang·go·成为全栈·兼容测试·taro 小程序
何中应1 小时前
【Go-1】变量&常量定义
开发语言·后端·golang
开开心心就好2 小时前
网页图片批量下载工具,输入链接就保存
服务器·算法·leetcode·支持向量机·pdf·ocr·1024程序员节
honsor3 小时前
以太网温湿度传感器|动环监控核心采集设备,协议、组网、Zabbix接入实战
linux·服务器·ubuntu
Android系统攻城狮3 小时前
Linux FFmpeg深度解析之avcodec_default_get_buffer2调用流程与实战(二十)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
十碗阳春面3 小时前
阿里云 Ubuntu 22.04 部署 Flarum 论坛:从空白服务器到中文界面、公网 IP 访问
服务器·ubuntu·阿里云