前言
在前端开发中,我们经常会需要使用 NoSQL 数据库来存储和处理数据。但是,在开发阶段,我们不可能直接连接线上的数据库进行测试。那么,怎样进行本地调试和测试呢?这时,Google Cloud 上的 Datastore Emulator 就是一种解决方案。Datastore Emulator 是一个本地的 NoSQL 数据库,可以模拟 Google Cloud Datastore 的行为,也可以通过本地端口进行连接。
然而,使用 Datastore Emulator 时,我们需要注意一些细节和限制,比如需要手动清空实体类、仅支持在线条语句查询等。因此,数据的整理和管理便成为了一个问题。如何规范操作 Datastore Emulator,并能更好地管理数据库中的数据,是我们本文要讲述的内容。
在本文中,我们将介绍如何使用 npm 包 datastore-emulator-enforcer 来帮助我们自动化和规范化管理本地数据库中的数据。
简介
datastore-emulator-enforcer 是由 Google 开发的一个包,主要用于对 Datastore Emulator 进行测试和管理。通过 datastore-emulator-enforcer,我们可以:
- 快速地对数据进行清空和重置;
- 自动构建出 Datastore Emulator 配置信息;
- 更好地进行数据的浏览和检查。
下面,我们将详细讲述怎样使用 datastore-emulator-enforcer 帮助我们更好地管理本地数据库中的数据。
使用
安装
首先,我们需要安装 datastore-emulator-enforcer。在命令行中输入以下命令即可完成安装:
npm install --save-dev datastore-emulator-enforcer
初始化
安装完成后,我们需要在项目中添加一些配置信息。在项目的根目录下创建一个文件夹 config
,并在其中创建一个名为 emulator-config.json
的文件。该文件用于存储我们的 Datastore Emulator 配置信息。
在 emulator-config.json
文件中,我们需要包含以下内容:
-- -------------------- ---- ------- - ------------ ----------------------- ------- ------------ ------- ----- -------------- ----------- --------------------------- ----- ---------- - ------------ -------------- - -
这些配置信息表示我们要连接的是本机的 Datastore Emulator,并且所连接的是一个 my-datastore-project
项目。my-datastore-project
是一个虚拟的项目名,表示我们所连接的是本地的 Datastore Emulator。
启动本地数据存储服务
在我们完成了上述配置后,我们可以使用 datastore-emulator-enforcer 进行本地 Datastore Emulator 的启动。在命令行中输入以下代码:
npx datastore-emulator-enforcer -c ./config/emulator-config.json -e
以上命令用于启动本地 Datastore Emulator,并显示日志。如果想不显示日志,可以使用以下命令:
npx datastore-emulator-enforcer -c ./config/emulator-config.json
访问 http://localhost:8787/
即可获得 Datastore Emulator 的可视化界面。
编写测试用例
下面,我们可以开始编写测试用例了。我们可以通过 npm script 来执行测试用例。在项目的 package.json
中加入以下代码:
{ "scripts": { "test": "mocha --require ts-node/register tests/**/*.spec.ts" } }
这里,我们使用 mocha 和 ts-node 来编写测试用例。在项目中创建一个文件夹 tests
,在其中再创建一个名为 test.ts
的文件,用于存放测试用例。
-- -------------------- ---- ------- ------ - ------ - ---- ------- ------ - -- -- ---- -------------------------- ------ - -- -- ---- ----- ------ - ----------------- - ---- ------------------------------ ------ - ------ - ---- ---------------------------------------------- ----------------------------- -- -- - --- ---------- ------------- --- --------- ------------------ --------- -- - ----- ------- ------ - ------------------------------------------------------------------------ --------- - --- ---- ---------- ----------------- ------------ -------------------------------- --- -------- - -------------------------------------- --- --------------- -- -- - ----- -------------------------- --- ----------- -- -- - ----- ------------------ --- ---------- ----- --- ----------- ----- -- -- - -- --------------- ------ --------- -- ------------------------ ---- ----- --- - ----- ----------------------------------------------------------------------------- ------------------------------------- -- -- ------------------------- --- --------- ----- -------------------------- --- ---------- ------ --- ---- ---- ----------- ----- -- -- - -- ---- --------- - -------- ------------ ----- --- - ---------------------- ------ ----- ------ - - ---- ----- - ----- ---- --- --- --- --- ----- ------- ------- ----------- -- -- ----- ------------------------- ----- ----- - ----- ------------------- ---------------------------------- --- ---
以上测试用例包含了两个测试点:
- 重置 Datastore 后是否为一个空 Datastore;
- 插入数据后是否能够正常读取数据。
在测试用例中,我们直接使用了 enforcer 和 datastore 实例,来进行数据的清空、重置、插入和读取。
运行测试用例
运行测试用例非常简单。运行以下命令即可:
npm run test
如果测试用例通过,则说明我们已经成功使用 datastore-emulator-enforcer 并管理本地数据库中的数据了!
总结
在本文中,我们介绍了如何使用 datastore-emulator-enforcer 来帮助我们更好地管理本地数据库中的数据。我们通过以下步骤完成了使用:
- 安装 npm 包;
- 创建并初始化配置文件;
- 启动本地 Datastore Emulator;
- 编写测试用例;
- 运行测试用例。
通过以上步骤,我们可以方便地实现本地数据库中的数据管理,并减少人为失误的概率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600573c581e8991b448e9b97