npm 包 datastore-emulator-enforcer 使用教程

阅读时长 8 分钟读完

前言

在前端开发中,我们经常会需要使用 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。在命令行中输入以下命令即可完成安装:

初始化

安装完成后,我们需要在项目中添加一些配置信息。在项目的根目录下创建一个文件夹 config,并在其中创建一个名为 emulator-config.json 的文件。该文件用于存储我们的 Datastore Emulator 配置信息。

emulator-config.json 文件中,我们需要包含以下内容:

-- -------------------- ---- -------
-
    ------------ -----------------------
    ------- ------------
    ------- -----
    -------------- -----------
    --------------------------- -----
    ---------- -
        ------------ --------------
    -
-

这些配置信息表示我们要连接的是本机的 Datastore Emulator,并且所连接的是一个 my-datastore-project 项目。my-datastore-project 是一个虚拟的项目名,表示我们所连接的是本地的 Datastore Emulator。

启动本地数据存储服务

在我们完成了上述配置后,我们可以使用 datastore-emulator-enforcer 进行本地 Datastore Emulator 的启动。在命令行中输入以下代码:

以上命令用于启动本地 Datastore Emulator,并显示日志。如果想不显示日志,可以使用以下命令:

访问 http://localhost:8787/ 即可获得 Datastore Emulator 的可视化界面。

编写测试用例

下面,我们可以开始编写测试用例了。我们可以通过 npm script 来执行测试用例。在项目的 package.json 中加入以下代码:

这里,我们使用 mocha 和 ts-node 来编写测试用例。在项目中创建一个文件夹 tests,在其中再创建一个名为 test.ts 的文件,用于存放测试用例。

-- -------------------- ---- -------
------ - ------ - ---- -------
------ - -- -- ---- --------------------------
------ - -- -- ---- -----
------ - ----------------- - ---- ------------------------------
------ - ------ - ---- ----------------------------------------------

----------------------------- -- -- -
    --- ---------- -------------
    --- --------- ------------------

    --------- -- -
        ----- ------- ------ - ------------------------------------------------------------------------
        --------- - --- ----
            ---------- -----------------
            ------------ --------------------------------
        ---
        -------- - --------------------------------------
    ---

    --------------- -- -- -
        ----- --------------------------
    ---

    ----------- -- -- -
        ----- ------------------
    ---

    ---------- ----- --- ----------- ----- -- -- -
        -- --------------- ------ ---------
        -- ------------------------ ----
        ----- --- - ----- -----------------------------------------------------------------------------
        -------------------------------------
        -- -- ------------------------- --- ---------
        ----- --------------------------
    ---

    ---------- ------ --- ---- ---- ----------- ----- -- -- -
        -- ---- --------- - -------- ------------
        ----- --- - ---------------------- ------
        ----- ------ - -
            ----
            ----- -
                ----- ---- --- --- --- --- -----
                ------- ------- -----------
            --
        --
        ----- -------------------------
        ----- ----- - ----- -------------------
        ----------------------------------
    ---
---

以上测试用例包含了两个测试点:

  1. 重置 Datastore 后是否为一个空 Datastore;
  2. 插入数据后是否能够正常读取数据。

在测试用例中,我们直接使用了 enforcer 和 datastore 实例,来进行数据的清空、重置、插入和读取。

运行测试用例

运行测试用例非常简单。运行以下命令即可:

如果测试用例通过,则说明我们已经成功使用 datastore-emulator-enforcer 并管理本地数据库中的数据了!

总结

在本文中,我们介绍了如何使用 datastore-emulator-enforcer 来帮助我们更好地管理本地数据库中的数据。我们通过以下步骤完成了使用:

  1. 安装 npm 包;
  2. 创建并初始化配置文件;
  3. 启动本地 Datastore Emulator;
  4. 编写测试用例;
  5. 运行测试用例。

通过以上步骤,我们可以方便地实现本地数据库中的数据管理,并减少人为失误的概率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600573c581e8991b448e9b97

纠错
反馈