我正在尝试从我的单元测试文件中设置一个变量

main_test.go

var testingMode bool = true

main.go
if testingMode == true {
  //use test database
} else {
  //use regular database
}

如果我运行“go test”,则工作正常。如果我“进行构建”,golang会提示未定义testingMode(由于测试不是程序的一部分,因此应该是这种情况)。

但是似乎如果我在main.go中设置了全局变量,则无法在main_test中进行设置。

解决这个问题的正确方法是什么?

最佳答案

试试这个:

main.go中将变量定义为global:

var testingMode bool

然后在测试文件true中将其设置为main_test.go:
func init() {
    testingMode = true
}

10-05 20:25