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!
原文地址:https://www.cnblogs.com/zhishuai/p/15540650.html