您可以为Express Google Cloud Functions编写测试吗?

时间:2019-07-06 13:02:01

标签: express google-cloud-functions tdd

我已经构建了一个Cloud Function Express API,我想知道如何为它编写测试。

1 个答案:

答案 0 :(得分:0)

要回答您的问题:当然,您可以 为Google Cloud Functions编写测试。与其他任何应用程序一样,我什至会补充说,您应该编写测试。

您可以查看Cloud Functions documentation about Testing and CI/CD。在Node.js部分中,它展示了如何使用Mocha作为测试框架和Sinon作为模拟框架来测试 Cloud Functions 。如果有的话,测试过程应该是本地开发和CI工具的一部分。

基本上,有3种测试类型:

  • 单元测试
  • 集成测试
  • 系统测试

单元测试中,您应该模拟HTTP框架(Express)以测试代码的一小部分。

集成测试中,您应该模拟 Function 与其他组件之间的任何外部依赖关系(例如,如果您的 Function 将数据写入到 Cloud SQL 数据库,那么您应该模拟此 Cloud SQL 数据库)。

系统测试中,您应将 Function 部署到特定的GCP环境(最有可能是一个隔离的项目),以确保您的Function与其他GCP组件良好地交互,或在触发时开始。

最后,以前有一个Cloud Functions Node.js emulator用于本地测试 Function 。已弃用此方法,但已用Functions Framework代替,该方法也可用于“ 启动本地开发服务器以进行快速测试”。