一 go run
编译运行一个main 包(package),常用的运行方式如下:
go run .
go run hello
go run 后面接路径,该路径(不含子路径)下所有的go源文件都属于main包。
==go run filename1 filename1 ==
go run 后面接go源文件,这些源文件必须要属于main包(package),并且要列出该程序所需的所有的源文件
但是在module-aware模式下,以上方式是不适用的,go run 命令运行在main包所在的目录下
go run . 或者 go run main函数所在的文件名
二、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测试框架会依次运行这些函数,这些函数示例如下;
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>文章来源:https://www.toymoban.com/news/detail-703507.html
5、执行方式
go test . 执行当前目录下的所有test文件
go test directory 执行yyzc目录下的所有test文件
go test filename 只执行指定的test文件文章来源地址https://www.toymoban.com/news/detail-703507.html
到了这里,关于go基础详解2-go run & test的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!