我正在使用 " google.golang.org/appengine/aetest" 打包并设置我的TestMain如下:
var myAeInst aetest.Instance
func TestMain(m *testing.M) {
var err error
myAeInst, err = aetest.NewInstance(&aetest.Options{StronglyConsistentDatastore: true})
defer tearDown()
c := m.Run()
os.Exit(code)
}
func tearDown() {
if myAeInst != nil {
myAeInst.Close()
}
}
但它坚持在aetest.NewInstance,任何人遇到类似的问题?
答案 0 :(得分:1)
您正在呼叫defer tearDown()
,然后os.Exit(code)
,在 tearDown
之后调用os.Exit
(即永远不会)。您需要在tearDown
之前明确调用os.Exit
,或者创建一个新的函数,推迟不调用os.Exit
。