• 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),并且要列出该程序所需的所有的源文件

    但是在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){
    }
    
    • 1
    • 2

    否则会报如下错误

    :\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文件

  • 相关阅读:
    PolarDB-X 拆分键推荐
    T1175计算两个日期之间的天数
    【licode】srtp链接问题
    consul--基础--03--配置参数
    Django中开发遇到的问题(11月10号)
    10 Debezium Oracle xstream
    雾天行人车辆检测
    【LLM】大模型幻觉问题的原因和缓解方法
    黑马苍穹外卖7 用户下单+订单支付(微信小程序支付流程图)
    springboot基于WEB的高校文档打印系统毕业设计源码101004
  • 原文地址:https://blog.csdn.net/qq_41768644/article/details/132778432