如何在全局 aetest.NewInstance 中使用 TestMain

我正在使用“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,有人遇到过类似的问题吗?


函数式编程
浏览 169回答 1
1回答

慕尼黑的夜晚无繁华

您正在调用defer tearDown()and then os.Exit(code),它tearDown 在之后 调用os.Exit(即从不调用)。您需要显式地调用tearDownbefore os.Exit,或者创建一个延迟的新函数,该函数不会调用os.Exit.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go