go-go test 单元测试

go test

Go语言基础之单元测试
参考URL: https://www.cnblogs.com/nickchen121/p/11517443.html

go 语言的test代码写起来和运行起来都相对简单。
但是也有遵循一定的命名规则:

  • 文件名要以 ‘_test.go’ 结尾
  • 测试函数以 ‘Test’ 开头
  • 测试函数的签名必须接收一个指向testing.T类型的指针作为参数,并且该测试函数不能返回任何值

go test命令

go test命令(Go语言测试命令)完全攻略
参考URL: http://c.biancheng.net/view/124.html

这里介绍几个常用的参数:
-bench regexp 执行相应的 benchmarks,例如 -bench=.;
-cover 开启测试覆盖率;
-run regexp 只运行 regexp 匹配的函数,例如 -run=Array 那么就执行包含有 Array 开头的函数;
-v 显示测试的详细命令。

demon

go test -run "TestDeterministicPrivateKeyGeneration" bls_test.go bls.go types.go 

go test单元测试变量undefined错误

第一次开发需求的时候遇到的问题,用go test xxx_test.go xxx.go的命令执行单个测试文件的时候,在xxx.go中可能引用到包下其他文件的变量,这时候编译就会报错:变量undefined。

解决方法
如果引用的文件不太多的话,把所有用到的文件一同编译就行了。如xxx.go文件中用到了aaa.go中的变量,那执行

go test xxx_test.go xxx.go aaa.go

如果是引用关系比较复杂,存在多级引用,建议直接在包目录下执行go test,运行该包下所有的测试文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章