GO的单元测试
关键点纪要
文件必须以
_test.go
结尾,函数名必须以Test
开头。举栗子:1
2
3
4my2_test.go,func Test2(){}
my_test.go, func Test(){}
特别注意,根据习惯,很容易犯错如下:
my_test2.go, func myTest(){}//注意这是错误的比如和测试代码同一个包
1
2
3
4
5
6
7
8--websockets(文件夹)
--client.go(package websockets)
--clinet_test.go
package websockets
import "testing"
func Test_client(t *testing.T){
//测试client.go中的func
}go test -v my_test.go
或者go test -v .
(注意-v可以打印详细测试结果)1
2
3
4
5
6PS D:\go> go test -v .\websockets\my_test.go
=== RUN Test1
map[1012:{state:{NoUnkeyedLiterals:{} DoNotCompare:[] DoNotCopy:[] atomicMessageInfo:<nil>} sizeCache:0 unknownFields:[] PlotIds:[]} 9999:{state:{NoUnkeyedLiterals:{} DoNotCompare:[] DoNotCopy:[] atomicMessageInfo:<nil>} sizeCache:0 unknownFields:[] MessageId:<nil> ClientIndex:<nil> Data:[]}]@#@#@#--- PASS: Test1 (0.00s)
PASS
ok command-line-arguments 0.106s
PS D:\go>在命令行中添加
-benchmem
参数以显示内存分配情况(暂时没有实操过)
建议收藏
http://c.biancheng.net/view/124.html
https://zhuanlan.zhihu.com/p/391478681
注意多利用单元测试来测试写的func,避免一直通过在main中调用测试,养成习惯!
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!