【问题标题】:Local unit testing on app engine with Node.js使用 Node.js 在应用引擎上进行本地单元测试
【发布时间】:2016-09-08 01:24:31
【问题描述】:

我们正在使用 node.js 在 Google App Engine 上启动一个新应用。我们还决定使用 Cloud Datastore。

我发现在其他可用语言中,您可以进行本地单元测试:

https://cloud.google.com/appengine/docs/java/tools/localunittesting

我还没有找到任何可用于 node.js 的东西。你知道是否有类似上述链接的内容吗?如果没有,我们可能会改用 Java 或 Go。

谢谢!

编辑:我刚刚找到了这个

https://cloud.google.com/datastore/docs/tools/datastore-emulator

有没有人试过并且知道这是否可以解决我的问题?

【问题讨论】:

    标签: javascript node.js unit-testing google-app-engine


    【解决方案1】:

    您所看到的区别在于 App Engine Standard 与 App Engine Flexible(以前称为托管虚拟机)。 NodeJS 仅在 App Engine Flexible 上受支持。

    App Engine Standard 具有一些优势(更快的部署时间、“缩放至零”的能力,因此您无需为闲置的应用支付任何费用),但它的灵活性要低得多,因为许多库在运行时中不可用,因此您需要更多依赖严重依赖 App Engine API。为了提供一种在本地测试它的方法,提供了本地开发服务器。

    标准支持 Python、Java、Go 和 PHP。但是,即使使用这些语言,如果您想使用 Java 8、Python 3 或 imagemagick 等自定义库,您仍然可以选择灵活。

    App Engine Flexible 是一个完全不同的产品,虽然表面上看起来很相似,因为它具有相似的工具和配置,而且它们都是可扩展的平台即服务产品。但是这个概念是你带来任何你熟悉的环境,它在一个容器中运行它(对你来说是隐藏的。除非你使用自定义运行时为它构建你自己的 Docker 运行时)。

    由于您将标准开发环境引入 App Engine,因此您可以像测试任何其他 Node 应用一样测试您的 Node 应用,并像在本地运行其他本地 Node 项目一样运行它。 App Engine 柔性环境在设计上应该没有太多特别之处,因此不需要特殊的本地测试服务器。

    但是,如果您使用的是 Cloud Datastore,我们会提供模拟器,这样您就可以更快地运行测试,而无需支付任何费用。因此,模拟器绝对是您要进行本地单元测试的工具。如果您有任何问题或问题,您应该在 Stack Overflow 上跟进更多问题。

    如果您还没有看过,这里有一个 Node 入门应用,它使用 App Engine Flexible,并演示了使用 Cloud Datastore 以及 MongoDB 和 CloudSQL(托管 MySQL)的各种任务。

    https://github.com/googlecloudplatform/nodejs-getting-started

    【讨论】:

    猜你喜欢
    • 2020-02-02
    • 2016-02-05
    • 2020-12-17
    • 1970-01-01
    • 1970-01-01
    • 2017-12-14
    • 2017-08-27
    • 2023-03-10
    • 2017-09-12
    相关资源
    最近更新 更多