google-app-engine - 如何将 TestMain 与全局 aetest.NewInstance 一起使用

标签 google-app-engine go

我正在使用 “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(即从不)。您需要在 os.Exit 之前显式调用 tearDown,或者创建一个您延迟 调用 的新函数os.退出

关于google-app-engine - 如何将 TestMain 与全局 aetest.NewInstance 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35078143/

相关文章:

node.js - Webpack“npm run build”不适用于Google Cloud,但适用于本地计算机

java - 从 Google Datastore 获取对象后,该对象为空

python-2.7 - GAE Web 应用程序的 SSO 实现

git - 如何避免仅在 Docker 内部发生的 `go get` `unknown revision` 问题?

转到模板 : Use nested struct's field and {{range}} tag together

java - 内存不足错误: Java heap space GoogleAppEngine

java - App Engine channel API 连接和断开

random - 在最小值、最大值之间生成加密随机整数

go - 立即评估延迟调用的参数

json - 如何访问Golang项目的JSON文件中的环境变量?