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

相关推荐
菠萝猫yena15 小时前
【读书笔记】《测试架构师修炼之道》读书笔记
功能测试·测试工具·单元测试
东湖山上15 小时前
GTAC: A Generative Transformer for Approximate Circuits
服务器·人工智能·深度学习·transformer·gpu算力
步十人15 小时前
【Linux】环境配置
linux·运维·服务器
念恒1230616 小时前
MySQl安装
linux·运维·服务器
kaoa00016 小时前
Linux入门攻坚——77、虚拟化技术基础原理-2
linux·服务器·网络
dusk_star16 小时前
go语言--笔记--封装、组合(继承)
笔记·golang
vortex516 小时前
现代 Linux 包管理全景:从 apt 到 Nix,四大派系与四大范式
linux·运维·服务器
曦夜日长16 小时前
Linux系统篇,开发工具(四):make及makefile的使用、makefile的使用细节
linux·运维·服务器
hwscom16 小时前
Windows服务器如何免费实现文件防篡改功能
运维·服务器·windows
HMS工业网络16 小时前
STP、RSTP到N-Ring的演进之路
服务器·开发语言·php