当一个项目中有很多配置和加载条件,运行前置条件的时候(例如运行某些特殊的包 或者 特殊的连接) 导致本地不好运行的时候 我们需要经常用到go test来进行检查我们写的代码是否有BUG。例如我现在的项目需要运行C语言的sdk。但是go test使用中还有部分坑的
例如:执行 go test -v -run TestSensitiveParamGet
之前项目原因,报一些我们不知道什么情况的错误,我们只是执行test,并不执行正常的其他程序。所以这里解决方法是:
go test -v -run TestSensitiveParamGet http/test/sensitive_test.go
测试方法对应的文件路径写出来。这样就能解决问题了
还有就是go test中的代码都改变了,但是执行结果一直没有变,这个又是go test的又一个坑,如果你执行的引用代码里改变了,但是go test执行方法没有直接变化,那么很可能它会把上次的执行缓存直接打印,而不是重新执行一遍。为了每次都是最新的结果,需要加上 -count=1
go test -v -run TestSensitiveParamGet http/test/sensitive_test.go -count=1
就不会有缓存了。