Cloud Code Functions

基于Parse Server的云代码函数单元测试指南

19min

如何通过他们的云代码函数创建单元测试

介绍

本节将允许您使用库检查函数的操作和本地测试 parse-server-test-runner.

先决条件

  • 要完成本教程,您需要:
  • 一个安装了 Node.js 的本地环境,以应用单元测试。您可以按照 官方 NodeJS 教程 在您的终端成功安装 Node.js。
  • 在 Back4App 创建的应用。
  • 按照 创建新应用教程 学习如何在 Back4App 创建应用。
  • 与项目配置的 Back4App 命令行工具。
  • 按照 设置云代码教程 学习如何为项目设置云代码。

首先,我们需要谈谈单元测试!

当开发人员开始编写具有不同意图的函数时,软件社区中一个显著的观点是应用想象场景来测试创建的代码。执行单元测试程序是必要的,因为它允许您分部分测试代码,这确保了您的主代码保持完整且不受损害。

那么,现在来一个简单的实际例子怎么样?

假设您需要编写一个函数,以完整的句子显示工人的姓名、职位和公司。我们需要编写函数以获取以下输入项:

  • 公司
  • 职位
  • 工人姓名

完成简单测试的步骤

在您的终端中,首先,我们将创建一个目录并配置您的测试应用(package.json),使用以下命令:

$ mkdir unit-test-sample && cd unit-test-sample $ npm init

提示: 使用 npm init 命令,您将能够创建 package.json 文件。它仅涵盖最常见的项目,并尝试猜测合理的默认值。因此,我们将提供代码正常运行所需的依赖项。

“package.json”的结果将类似于以下示例:

JSON


现在,让我们使用下面的命令创建文件(index.js):

~/unit-test-sample$ touch index.js

我们现在将下面的代码插入到之前创建的文件中,该函数将插入一个示例,以演示此测试的代码:

JS


在 NodeJS 中,模块将相关代码封装成一个单元,当你使用 module.exports, 它增加了可以在其他文件中使用的封装代码。

让我们测试 0/

最后,你可以使用你的终端:

~/unit-test-sample$ node > var moduleBack4App = require('./index.js'); undefined > moduleBack4App("Jonathan", "Developer", "Back4App") 嗨,Jonathan!你是Back4App公司的开发者。

提示: 使用 require() 函数,你可以导入和导出模块,在上述情况下,我们使用此函数在应用程序内部要求一个文件。

使用 Parse,我可以测试我的函数吗?

当然,作为测试参数,我们将创建一个后端来控制公司员工的信息。

让我们将类结构化为:

Parse.User(员工参考)

  • 用户名,电子邮件,密码(必填)

我们建议你详细查看 Parse Server 指南,以获取有关用户属性的更多信息。

infoEmployee

  • 职位
  • 部门
  • 工作班次
  • 用户ID(指针)

1 - 理解我们的最终结构

让我们开始吧!我们将使用 Parse Server Javascript 指南 作为我们函数开发的参数。首先,在使用命令行界面完成设置后 (见前提条件),我们将理解它如何与文件中的最终结构一起工作:

├──Back4AppProject │ ├── cloud │ │ ├── functions.js │ │ ├── main.js │ ├── public │ ├── package.json │ ├── index.js │ ├── node_modules │ ├── src │ │ ├── jasmine.js

注意: 当您将文件上传到云代码时,命令行界面(见 前提条件)将忽略其他文件,仅上传公共和云文件夹中的文件。

2 - 编写我们的函数

在为命令行界面配置环境后,我们将编写函数以构建注册员工并保存附加信息的过程。通过重构代码,在 main.js 文件中,我们将这些函数导入到 main 中,如下所示:

JS


这个想法是将功能与云接口解耦,以便我们可以在不低效发送HTTP请求的情况下测试它们。这在我们创建测试套件时将非常有意义。

Parse Server 3.X
Parse Server 2.X


3 - 设置环境以测试上述代码!

对于我们的测试套件,我们将使用 Jasmine, 一个非常流行的JavaScript测试框架。然而,到目前为止,我们的代码完全与我们的测试无关,因此您可以使用您喜欢的任何框架或平台。

安装开发依赖

让我们全局安装 Jasmine,并使用以下命令:

~/Back4AppProject$ sudo npm install -g jasmine ~/Back4AppProject$ jasmine 随机种子 48094 开始 未找到规范 在 0.002 秒内完成 不完整: 未找到规范

4 - 在文件夹中配置 Parse Server 测试运行器

在我们在Back4App的项目Cloud文件夹中实施的方法下,我们将在Node.js项目中创建新文件,以配置这种交互。

~/Back4AppProjectsrc$ touch index.js ~/Back4AppProject$ mkdir src && cd src ~/Back4AppProject/src$ touch jasmine.js

现在,我们将使用下面显示的代码配置上述创建的文件:

index.js
jasmine.js


最后一步是配置 package.json,使用命令: $ npm init 在根目录中(下面的文件只是一个包含所需模块的示例):

我们将开始配置本地测试,为此我们将按照下面的命令以编程方式设置代码以进行测试。

~/Back4AppProject$ # 在package.json的同一目录中 ~/Back4AppProject$ npm install

成功安装后,您可以使用描述的命令在本地检查单元测试并接收结果,例如:

~/Back4AppProject$ jasmine src/jasmine.js 随机种子 79055 开始 ✔ 下载了 MongoDB 3.6.5 [] . 1 个规范,0 个失败 在 19.983 秒内完成 随机种子 79055 (jasmine --random=true --seed=79055)

太好了,它准备好了!

根据上述指南,您可以使用 Parse Server 测试运行器和为 Back4App 开发的云代码功能。