23 | 测试的基本规则和流程 (上)
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
本文深入介绍了Go语言中的测试基本规则和流程,强调了程序测试的重要性以及Go语言对测试的重视。作者详细解释了Go语言中的单元测试,包括功能测试、基准测试和示例测试,并阐述了测试源码文件的命名规则和测试函数的命名和签名规定。此外,还介绍了`go test`命令的执行流程,包括准备工作、构建、执行测试函数、清理临时文件和打印测试结果等步骤。并发测试和性能测试的特点也得到了介绍。总的来说,本文为读者提供了深入了解和掌握Go语言测试的基础知识,对于想要学习Go语言测试的读者来说是一篇很有价值的文章。
《Go 语言核心 36 讲》,新⼈⾸单¥59
全部留言(23)
- 最新
- 精选
- dean不闷老师,能推荐一下go的测试框架吗?我们想做单元测试/分层测试。十分感谢!
作者回复: Go语言自带的就很好啊,一般不需要其他框架。如果非要用一个的话,testify不错。
2019-03-1210 - 窗外老师,我为什么执行实例下的demo52,demo52_test.go的测试命令go test demo52_test.go,会提示 .\demo52_test.go:10:19: undefined: hello hello和introduce在demo52的源码文件里都有声明的呢? 另外你文中说的TestIntroduce为什么不会被执行呢?我看了实例52,函数声明都是一致的
作者回复: 你要是指定文件,就指定全:go test demo52.go demo52_test.go 。要么你就直接在那个目录下执行 go test ,不追加任何文件。 只要 TestIntroduce 函数签名完全匹配了规则就没问题。文中的这块或许可以改一下。
2019-07-1825 - 给力在go语言实战一书中 单元测试划分为: 表组测试 基础测试 基准测试: 。。。 事例测试: 。。。 这么多分类都是各家之言,go官方给的分类又是什么呢?
作者回复: 按Go官方,只有三种测试:功能测试、基准测试、示例测试。我的书和专栏里都只遵循这个分类。
2020-03-223 - 虢國技醬打卡 写来大半年的go,竟然没写过测试,哎 🤣
作者回复: 赶紧加上;)
2019-01-223 - 谭棋钊老师,我直接在你的Golang_Puzzlers/src/puzzlers/article20/q0代码文件夹下执行go test,会报go: cannot find main module的错误,是什么原因?
作者回复: 因为Go语言在通过最近这几个版本调整 go module 模式的默认开关,所以这跟你所用的go版本有关系。你可以这样: $ export GO111MODULE=auto; go test 也就是先 export GO111MODULE=auto 再 go test
2021-03-182 - dean不闷老市区,单元测试的go文件,方法的命名,您有什么建议呢?
作者回复: testing代码包中文档在这方面有很明确的规定啊,我在文章中也讲了。
2019-03-312 - jxs1211‘ 并且,下一个代码包性能测试的进行,总会等到上一个代码包性能测试的结果打印完成才会开始,而且性能测试函数的执行也都会是串行的。 ’ 这里的意思是不是,每个代码包间性能测试函数是串行执行,每个代码包内部的性能测试函数也是串行执行,问题: 如果是这样的话,哪设置P的作用是什么,不都是串行执行吗 另外对功能测试函数,代码包之间和代码包内部的测试函数都是通过goroutine并发的执行的吧
作者回复: 性能测试之间默认是串行的,因为怕互相在性能上有干扰(测的就是性能啊)。设置P主要是为了功能测试,功能测试默认是并发的(不涉及性能方面的测试)。
2021-12-18 - Howard.Wundt在 The Go Programming Language 中,Testing 是第十一章,已经接近书的结尾了。 本节课末尾的思考题,经过 google 得知: testing.T 的部分功能有(判定失败接口,打印信息接口) testing.B 拥有testing.T 的全部接口,同时还可以统计内存消耗,指定并行数目和操作计时器等。2018-10-0339
- Haiyung我记得是2018年购买的这个专栏,当时囫囵吞枣的看了一遍,感觉还行; 过了一年多,回过头来再看一遍郝林老师的这个专栏,这才感受到这个专栏的系统性,郝林老师真用心啊! 虽然Go已经从1.10升级到了1.15,但以我做了两年Go开发的经验来看,即便Go真的到了2.0时代,郝林老师的这个专栏依然是不可多得的Go教程。2020-09-2817
- CcczzZ去年开始写Go,基本没写过测试用例。。。 今年开始慢慢有这个意识去完善各个函数、接口的单元测试,在自测的过程中也发现了很多bug和优化点,最终提测质量稳稳提高~ 保持写各种测试代码是一种好习惯呀2020-01-13115