背景
第一次开发需求的时候遇到的问题,用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,运行该包下所有的测试文件。