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

相关推荐
虾..3 分钟前
Linux 进程替换
linux·运维·服务器
Crazy________6 分钟前
43ansible常用模块及变量定义方式
linux·运维·服务器
翼龙云_cloud6 分钟前
阿里云渠道商:无影云电脑常见问题及其解决方法有哪些?
运维·服务器·阿里云·云计算·电脑
幸运小猿19 分钟前
启动项目报错,zookeeper影响的
linux·运维·服务器
honsor22 分钟前
一种采用POE供电的RJ45网络型温湿度传感器
运维·服务器·网络
零匠学堂202529 分钟前
woapi-server为Office Online Server文档在线预览提供文档加载地址
java·运维·服务器·oos·wopi
Tandy12356_37 分钟前
手写TCP/IP协议栈——环境配置
服务器·网络·网络协议·tcp/ip
噔噔噔噔@42 分钟前
第一章、基础理论——第一节、软件测试概述
python·单元测试·压力测试
桃子叔叔44 分钟前
Prompt Engineering完全指南:从基础到高阶技术实战
java·服务器·prompt
minji...1 小时前
linux 进程控制(一) (fork进程创建,exit进程终止)
linux·运维·服务器·c++·git·算法