我想知道是否有任何方法可以使用标准 go test || 来运行和测试 GAE Go 应用程序去构建等工具,如果不可能的话是什么技术原因。
最佳答案
Go App Engine SDK 包含标准 Go 软件包和工具,以及它们的修改版本。
GAE SDK 还包含 GAE 平台服务 API 实现的本地版本,这些实现不属于 SDK(甚至不是 API)。所以你不能只使用标准的Go SDK。当您使用 GAE SDK 构建或测试时,SDK 会处理上下文模型,因此您的应用程序将拥有“感觉”它在 GAE 环境中运行所需的一切(或大部分内容)。 SDK 还包含生产环境中有效的沙箱限制(例如,您无法写入本地文件)。
另请注意,GAE SDK 的某些功能也依赖于 Python 运行时(因为 Go GAE SDK 是使用现有的 Python GAE SDK 创建的),并非所有内容都用 go 重写。
因此,考虑到所有这些,使用标准 Go SDK 构建/测试是不可行的,甚至是不可能的。
关于google-app-engine - 我可以在没有 goapp 工具/构建器的情况下运行 Appengine 应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31095395/