我尝试从我的单元测试文件中设置一个变量
main_test.go
var testingMode bool = true
main.go
if testingMode == true {
//use test database
} else {
//use regular database
}
如果我运行"go test",这将正常工作。如果我运行"go build",golang会抱怨testingMode未定义(因为测试不是程序的一部分)。但是,如果我在main.go中设置全局变量,则无法在main_test中设置它。
正确的做法是什么?
main_test.go
文件中的哪里定义了这个变量?记住,你的init()
函数在启动时执行,但main()
函数不会。 - Pierre Prinetti*sql.DB
变量),测试代码可以用模拟实现(或内存中的*sql.DB
)来替换它。 - Dave C