使用Node.js在应用程序引擎上进行本地单元测试
Local unit testing on app engine with Node.js
我们正在谷歌应用引擎上用node.js启动一个新的应用程序。我们还决定使用云数据存储。
我发现在其他可用的语言中,你可以进行本地单元测试:
https://cloud.google.com/appengine/docs/java/tools/localunittesting
我还没有找到node.js可用的东西。你知道是否有类似上面的链接吗?如果没有,我们可能会改用Java或Go。
谢谢!
编辑:我刚刚找到这个
https://cloud.google.com/datastore/docs/tools/datastore-emulator
有人试过并知道这是否能解决我的问题吗?
您所看到的不同之处在于App Engine Standard与App Engine Flexible(以前称为托管虚拟机)。NodeJS仅在App Engine Flexible上受支持。
应用程序引擎标准有一些优势(部署时间更快,能够"扩展到零",因此您无需为空闲应用程序付费),但它的灵活性要低得多,因为许多库在运行时不可用,因此您更依赖应用程序引擎API。为了提供一种在本地测试它的方法,提供了本地开发服务器。
Standard支持Python、Java、Go和PHP。然而,即使使用这些语言,如果您想使用Java8、Python3或imagemagik等自定义库,您仍然可以选择Flexible。
App Engine Flexible是一款非常不同的产品,尽管从表面上看它很相似,因为它有相似的工具和配置,而且它们都是可扩展的平台即服务产品。但这个概念是,你带上你熟悉的任何环境,它在一个容器中运行它(这对你来说是隐藏的。除非你使用自定义运行时为它构建自己的Docker运行时)。
由于您将标准开发环境引入应用程序引擎,因此您可以像测试任何其他Node应用程序一样测试Node应用程序,并像在本地运行其他本地Node项目一样运行它。从设计上讲,App Engine灵活的环境不应该有太多特殊之处,因此不需要专门的本地测试服务器。
然而,如果您使用的是云数据存储,则会提供模拟器,这样您就可以更快地运行测试,而无需支付任何费用。因此,模拟器肯定是您想要做本地单元测试的。如果您对它有任何问题,您应该在Stack Overflow上提出更多问题。
如果你还没有看到,有一个节点入门应用程序使用app Engine Flexible,并使用云数据存储、MongoDB和CloudSQL(托管MySQL)演示了各种任务。
https://github.com/googlecloudplatform/nodejs-getting-started
- 我的单元测试选项是什么
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 使用量角器的当前url单元测试的getTitle
- AngularJS指令单元测试中未定义的函数
- 如何在ember单元测试中模拟_super()方法
- 单元测试依赖关系没有被嘲笑
- 为什么不'当单元测试出现解析错误时,我的因果报应测试会失败
- 在node.js中编写单元测试的最佳方式是什么
- Ng点击-如何进行行为单元测试
- Jasmine单元测试在监视服务方法时失败
- Angular 2和服务单元测试
- 在我的目录结构中,将单元测试助手源文件放在哪里
- 如何对CSS transitionEnd事件后执行的JavaScript进行单元测试
- 使用Node.js在应用程序引擎上进行本地单元测试
- 我应该如何衡量JS的单元测试覆盖率?我可以'我对jscoverage不满意
- 如何使用KARMA对React JSX ES6代码进行单元测试
- 如何在单元测试中将存储注入Ember.Service
- 单元测试:使用酶模拟父组件中子组件的点击事件
- Javascript单元测试
- 带有单元测试的Javascript e4x引擎