go基础详解2-go run & test

一 go run

编译运行一个main 包(package),常用的运行方式如下:

go run .
go run hello

go run 后面接路径,该路径(不含子路径)下所有的go源文件都属于main包。

==go run filename1 filename1 ==

go run 后面接go源文件,这些源文件必须要属于main包(package),并且要列出该程序所需的所有的源文件

二、go test

go 有一个轻量级(lightweight)的单元测试(unit testing)框架,可以很方便的测试相关函数。在使用此测试框架的时候需要注意以下 几点:

1、一般情况下,测试文件与被测试文件在同一个目录下,也可以不在同一个目录下;

2、当在同一个目录下的时候,如果被测试文件所在的包是fmt,那么测试文件所在的包一定要是fmt_test,否则会报错;

S C:\Users\love1\Documents\technology\go\gopathMode\hello\yyzc> go test -v .\greetings_test.go

#command-line-arguments

greetings_test.go:5:8: found packages greet (greetings.go) and greet1 (greetings_test.go) in C:\Users\love1\Documents\technology\go\gopathMode\hello\yyzc

FAIL command-line-arguments [setup failed]

FAIL

3、测试文件需要以_test.go为结尾;

4、测试文件中一般会包含类似TestXXX命名的函数,go测试框架会依次运行这些函数,这些函数示例如下;

go 复制代码
func TestXXX (t *testing.T){
}

否则会报如下错误

:\Users\love1\Documents\technology\go\gopathMode\hello\yyzc\greetings_test.go:8:1: wrong signature for TestHello, must be: func TestHello(t *testing.T)

FAIL command-line-arguments [setup failed]

FAIL

PS C:\Users\love1\Documents\technology\go\gopathMode\hello\yyzc>

5、执行方式

go test . 执行当前目录下的所有test文件
go test directory 执行yyzc目录下的所有test文件
go test filename 只执行指定的test文件

相关推荐
品克缤11 小时前
Trading-Analysis:基于“规则+LLM”的行情分析终端(兼谈 Vibe Coding 实战感)
前端·后端·node.js·vue·express·ai编程·llama
流水迢迢lst11 小时前
靶场练习day15--php反序列化
开发语言·php
开longlong了吗?11 小时前
Luan Takeaway System:基于Spring Boot + Spring Cloud的外卖业务系统
spring boot·后端·spring cloud
fengci.11 小时前
ctfshow(web入门)279-286
java·开发语言·学习
TON_G-T11 小时前
javascript中 Iframe 处理多端通信、鉴权
开发语言·前端·javascript
周淳APP11 小时前
【JS之闭包防抖节流,this指向,原型&原型链,数据类型,深浅拷贝】简单梳理啦!
开发语言·前端·javascript·ecmascript
ok_hahaha11 小时前
java从头开始-苍穹外卖day05-Redis及店铺营业状态设置
java·开发语言·redis
2501_9333295511 小时前
舆情监测系统的技术演进:从数据采集到AI中台,Infoseek如何实现“监测+处置”一体化
开发语言·人工智能·自然语言处理·系统架构
dgvri12 小时前
Windows上安装Go并配置环境变量(图文步骤)
开发语言·windows·golang
用户73440281934212 小时前
使用 Docker Compose 部署单机版 Redis:简单高效的数据缓存与存储
后端