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