Go+ 单元测试教程(4.20)
目录
Go+ 概述
Go+ 是一门融合工程开发的 Go、数据科学领域的 Python、编程教学领域的 Scratch,以 Python 之形结合 Go 之心,让工程师处理数据不需要学习新的开发语言,让初学者学习编程、开发作品的门槛更低的编程语言。
正文
单元测试是编写符合规范的 Go+ 程序的重要组成部分。测试包提供了编写单元测试所需的工具,使用 go test 命令就可以启动单元测试。Go+ 提供了相关的单元测试方法,今天我们就来了解一下这方面的一些内容。
导入包
Go+ 在启动替代进程时,一般会使用的工具库是 testing 包,导入方式如下:
测试文件和测试方法的命名规则
我们在命令测试文件和测试方法时,是需要遵守一定命名规则的。
1)命名测试文件时,规则是 原文件名 + _test.gop,比如原文件是 add.gop,其对应的单元测试文件就是 add_test.gop。
2)命名测试方法时,规则是 Test + 原方法名,比如方法是 Print(),其对应的单元测试方法就是 TestPrint()。
示例代码:
单元测试集
有时候,编写单元测试很可能是重复的,因此尝试使用表格驱动的方式来完成,其实就是把测试输入项和预期输出项列在单元测试表格中,只需要一次循环遍历就可以完成所有测试项的单元测试。
示例代码:
效果演示
执行如下命令,开始启动单元测试。
go test -v
上述代码的执行结果:
== RUN TestIntMinBasic --- PASS: TestIntMinBasic (0.00s) === RUN TestIntMinTableDriven === RUN TestIntMinTableDriven/0,1 === RUN TestIntMinTableDriven/1,0 === RUN TestIntMinTableDriven/2,-2 === RUN TestIntMinTableDriven/0,-1 === RUN TestIntMinTableDriven/-1,0 --- PASS: TestIntMinTableDriven (0.00s) --- PASS: TestIntMinTableDriven/0,1 (0.00s) --- PASS: TestIntMinTableDriven/1,0 (0.00s) --- PASS: TestIntMinTableDriven/2,-2 (0.00s) --- PASS: TestIntMinTableDriven/0,-1 (0.00s) --- PASS: TestIntMinTableDriven/-1,0 (0.00s) PASS ok examples/testing-and-benchmarking 0.023s
作者简介:大家好,我是 Data-Mining(liuzhen007),是一位音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,公众号:玩转音视频。同时也是 CSDN 博客专家、华为云社区云享专家、签约作者,欢迎关注我分享更多干货!
- 点赞
- 收藏
- 关注作者
评论(0)