我在用
“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上,有人遇到类似问题吗?
最佳答案
您先调用defer tearDown()
,然后再调用os.Exit(code)
,后者在tearDown
之后调用os.Exit
(即从不)。您需要在tearDown
之前显式调用os.Exit
,或者创建一个新的函数而不调用os.Exit
。