我在用
“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

07-28 04:37