这篇集中记录一下测试相关的内容。

背景

创建工程库代码,方便重用。重用方式可使用函数,也可直接引用文件。
完成函数,可在 main 函数中调用进行测试。也可以使用 test 框架进行。
在大型项目中,可以用 test 进行测试更方便,即不影响业务代码,也保留测试代码。

结构

测试文件形式为 <文件名>_test.go,源码文件不能以_test.go结尾。
引用testing包。有t.Logf等函数。
测试用例使用TestFooTestBar的形式。
同一个目录,可以有多个测试文件,同一测试文件,可以有多个测试用例。但注意,不能出现同名函数。
测试文件与实际源码文件名称,可同可不同。

使用

简单使用:

go test

结果以 PASS 或 FAIL 等表示。
输出详细日志:

go test -v

上述命令会运行该目录下所有测试文件的所有测试用例

为方便、简单测试,可指定测试文件和测试用例。如:

go test -v -run TestSleep

(注:当测试文件包含其它包时,指定测试文件,似乎不成功)

小结

Golang 提供的测试框架,可以方便地对封装的工具函数进行测试。
对于实现简单功能的模块而言,可以使用测试框架,也可以编译为二进制,后者在使用上较方便。

Golang实践录:测试框架相关推荐

  1. Golang实践录:命令行cobra库实例再三优化

    本文是上一文章<Golang实践录:命令行cobra库实例优化> 的优化,主要的子命令的业务实现的整理. 起因 上一版本实现的方式,还是有点不满意,格式也不对齐,重要的是,似乎不是正规的方 ...

  2. Golang实践录:命令行cobra库实例优化

    本文上一文章<Golang实践录:命令行cobra库实例> 的优化,主要的子命令的业务实现的整理. 起因 旧版本中,每个子命令的入口函数,均需一一判断传入参数,并调用对应的业务实现函数,编 ...

  3. 3_01_GLib库入门与实践_测试框架

    简介 GLib提供了一套测试框架,可以帮助我们实现自动测试,而且还能生成报告,下面简单介绍一下这个框架的基本使用方法. 数据结构 enum GTestFileType enum GTestTrapFl ...

  4. Golang实践录:使用gin框架实现转发功能:一些负载均衡算法的实现

    近段时间需要实现一个转发 post 请求到指定后端服务的小工具,由于一直想学习 gin 框架,所以就使用这个框架进行尝试,预计会产生几篇文章.本文研究一些负载均衡算法的实现. 概述 本文实现的负载均衡 ...

  5. Golang实践录:使用gin框架实现转发功能:利用nginx转发

    近段时间需要实现一个转发 post 请求到指定后端服务的小工具,由于一直想学习 gin 框架,所以就使用这个框架进行尝试,预计会产生几篇文章.本文研究如何利用 nginx 容器和后端服务进行转发工具的 ...

  6. Golang实践录:使用gin框架实现转发功能:管理后端服务

    近段时间需要实现一个转发 post 请求到指定后端服务的小工具,由于一直想学习 gin 框架,所以就使用这个框架进行尝试,预计会产生几篇文章.本文研究如何管理后端服务. 思路 在启动 gin 服务前, ...

  7. Golang实践录:使用gin框架实现转发功能:上传文件并转

    近段时间需要实现一个转发 post 请求到指定后端服务的小工具,由于一直想学习 gin 框架,所以就使用这个框架进行尝试,预计会产生几篇文章.本文先研究如何在 gin 框架中实现上传和转发功能. 问题 ...

  8. go 获得 mysql 实际运行 SQL,Golang实践录:一个数据库迁移的代码记录

    实现一个数据库迁移的案子.有些知识点值得记录. 技术框架 github.com/go-xorm/xorm:数据库操作 github.com/denisenkom/go-mssqldb:sqlserve ...

  9. Golang实践录:调用C++函数

    趁着五一放假,趁着有时间,把欠的一些技术集中研究研究,写写文章,好给自己一个交待. 本文介绍如何在 Golang 中调用 C++ 函数. 起因 因工作需求,需要将一个工具由终端行的运行方式迁移到 we ...

最新文章

  1. mysql中的float_mysql里float是什么东西
  2. 问一下大家个3D问题:旋转和缩放以及平移中如何插值矩阵?
  3. IMAP和POP3的相关知识与区别
  4. 使用连接来代替in和not in(使用外连接技巧)
  5. 超详细的Git提交规范引入指南
  6. python网页开发实现本地上传_树莓派 python 如何将本地文件上传到指定的服务器页面上...
  7. table列最小宽度 vue_Vue组件设计 - 先别管view
  8. PM_敏捷开发 Scrum vs Kanban,如何选择?
  9. Visio连接线的箭头如何变为直线、双箭头;直线转换为箭头
  10. 柳传志回应“联想5G投票事件”:不要罔顾事实挑拨离间
  11. 服务器双路供电原理,双路电源上电顺序控制电路原理图
  12. 拼多多“百亿农研”开辟发展新路径
  13. html 开源 折线图,ECharts折线图(一)
  14. 安慰奶牛 C++ kruskal
  15. python使用XPATH爬取电影票房
  16. 怎样免费翻译整篇英文Word文档
  17. Facebook、中国BAT均落选,高盛全球“漂亮50”有哪些潜力股?
  18. ABAP 之ALV展示及下钻弹窗数据页面
  19. 【骑车助手】安卓应用详细信息
  20. 阿里面试题java,学习路线+知识点梳理

热门文章

  1. 京东:不存在显卡售后“金融化”情况 保留追究造谣者法律责任的权利
  2. 黄光裕回应与京东、拼多多竞争:谁也灭不了谁 不排除合作的可能性
  3. 淘宝发布年度十大同款:钟南山哑铃、奥特曼变身器、嫦娥五号暖宝宝入选
  4. 中芯国际能靠14nm工艺翻身么?
  5. 教育部认可公众号博主是自由职业,网友:公号被封算失业吗?
  6. 小米公司宣布启动网络恶意营销账号专项整治行动
  7. 中国女排代言作业帮直播课,作业帮累计用户已超8亿
  8. 钉钉、腾讯朋友等被点名!微信公示部分违规行为:连自家人都没放过
  9. 小家电的精致生活幻想,都在闲鱼上被粉碎了
  10. 小米营销教父的滚烫十年