当前位置: 首页 > news >正文

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测试框架会依次运行这些函数,这些函数示例如下;

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

http://www.lryc.cn/news/165503.html

相关文章:

  • 【NVIDIA CUDA】2023 CUDA夏令营编程模型(三)
  • 字节8年经验之谈 —— 冒烟测试、回归测试是什么?
  • FP6102 20V、3A降压开关调节器芯片
  • 魔众携手ModStart上线全新模块市场,支持模板主题
  • 织梦CMS_V5.7任意用户密码重置漏洞复现
  • ESP32通过ali的C LINK4.0接入aliyun阿里云
  • Spring中使用了哪些设计模式
  • matlab 13折线法数据量化编码与解码
  • Yolov8小目标检测-添加模块改进-实验记录
  • 2023国家网络安全宣传周|邮件安全意识培训-钓鱼篇
  • 【Leetcode】140.单词拆分II(Hard)
  • 【数据结构-堆】堆
  • Ansible 自动化运维工具部署主从数据库+读写分离
  • 蓝桥杯官网填空题(星期几)
  • 《向量数据库指南》——向量数据库会是 AI 的“iPhone 时刻”吗?
  • 案例实践丨基于SkyWalking全链路监控的微服务系统性能调优实践篇
  • C++信息学奥赛1170:计算2的N次方
  • windos本地文件上传到ubuntu
  • 做软件测试,掌握哪些技术才能算作“测试大佬”?
  • 【算法与数据结构】530、LeetCode二叉搜索树的最小绝对差
  • input输入事件
  • 接入 NVIDIA A100、吞吐量提高 10 倍!Milvus GPU 版本使用指南
  • php://filter协议在任意文件读取漏洞(附例题)
  • 【Redis】1、NoSQL之Redis的配置及优化
  • 9.5QTday6作业
  • Redis I/O多路复用机制
  • Matlab 2016安装MinGW-w64-4.9.2
  • Tomcat配置ssl、jar包
  • Unity中Shader实现UI去色功能的实现思路
  • Python垃圾回收机制详解:引用计数与循环垃圾收集器