golang 单元测试 testify、httptest 、gotests、mockery
1、testify 流行库之一:
testify
核心有三部分内容:
assert
:断言;mock
:测试替身; 真实环境不好实现 模拟对应接口suite
:测试套件。 用于预设环境-> <<测试多个函数>> -> 释放对应申请的资源
2、httptest 用于测试 HTTP 服务器
Go 标准库提供了一个httptest
用于测试 HTTP 服务器。
3、自动生成单元测试gotests
go get -u github.com/cweill/gotests
gotests -all -w needToTest.go
常用命令gotests -all -w needToTest.go 会自动生成needToTest_test.go
也可以指定gotests -all -w origin.go, origin_test.go
4、mockery 自动生成moc,需要写好对应的接口
go get github.com/vektra/mockery/.../ # 用powershell ,cmd.exe无反应 # 到指定文件夹下面 添加的接口会自动更新。反正都是自动生成的 mockery -dir ./ -all
5、设置代理 下载有问题。设置powershell,然后用此go get -u
# 配置 GOPROXY 环境变量 $env:GOPROXY = "https://goproxy.io,direct" # 还可以设置不走 proxy 的私有仓库或组,多个用逗号相隔(可选) $env:GOPRIVATE = "git.mycompany.com,github.com/my/private"
https://www.jianshu.com/p/75cb67bd44ef
https://segmentfault.com/a/1190000040501767
https://www.jianshu.com/p/fa3f7c7d29cd
踩坑之路多回顾,不要在一个坑掉两次!
THINK TWICE,CODE ONCE!