npm包parody使用教程

阅读时长 6 分钟读完

简介

NPM (Node Package Manager) 是一个专门用于 Node.js 的包管理器,由 Node.js 基金会维护。开发者可以使用 NPM 来查找、分享、以及下载开源模块,将其集成到自己的项目中。在 NPM 上可以找到各种各样的模块,从数学计算到生成假数据的模块,应有尽有。而 parody 就是一个应用广泛的生成假数据的 npm 包。其主要作用是提供给前端开发者快速生成测试数据。

安装 parody

推荐通过 npm 来安装 parody,可以使用下面的命令进行安装。

使用 parody

在导入 parody 后,我们就可以使用 parody.mock 方法来生成假数据了。

第一个例子

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

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

----------------------
展开代码

上述代码中,我们使用 parody 生成了一个假用户数据。在 userData 中,我们可以看到 nameagegenderemailavatarrole 等属性的值都是需要测试的假数据。并且在这段代码中,我们使用了 @ 符号来声明变量类型。具体含义如下:

  • @name:生成一个随机的英文名称。
  • @int(18, 50):生成一个 18 到 50 之间的整数。
  • @pick(["male", "female"]):从数组中随机选择一个值,这里只有 "male""female" 两个选项。
  • @email:生成一个随机的电子邮件地址。
  • @image("200x200"):生成一个 200x200 的图片。
  • @word:生成一个随机的单词。

第二个例子

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

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

----------------------
展开代码

在这段代码中,我们使用了 @alias 符号来声明变量类型。我们采用了 dataList 这个数据模板来生成一个用户数据列表。具体含义如下:

  • dataList|4-8:表示生成一个长度在 4 到 8 之间的数组。
  • id|+1:表示从 1 开始,依次递增生成一个 ID。
  • nameagegenderemailavatar 属性的含义和上一个例子相同。

深入理解 parody

在1.x版本中,parody 提供了一个 parody.normal 方法来生成假数据,2.x 版本中已经废弃了 parody.normal 方法,改为了 parody.mock 方法。下面我们来深入学习一下如何理解 parody.mock,并如何使用它。

数据模板

数据模板是一种用以描述真实数据结构的数据,在这种数据结构中嵌入占位符,以生成随机的数据对象。下面,我们举几个例子来阐述如何使用这种数据结构。

对象与属性

生成简单的对象,对象中的属性用占位符 @ 来进行表示,例如:

对象中的属性可以是字符串(String)、数值(Number)、布尔值(Boolean)、对象(Object)、数组(Array)等其他任何类型。但需要注意的是,在占位符 @ 中,需要使用 "" 包裹字符串类型的占位符,例如 '"Hello World"'

数组

生成复杂的数据需要使用数组,而占位符属性值在数组的情况下依旧适用,例如:

这个模板会随机生成一个长度在 1-10 的数组,数组的每个元素都是一种模式形如:{ 'id': '@id', 'name': '@cname' }

占位符可以引用当前数据模板的属性。使用 @ 语法定义条件和在另一个属性中使用它参考官方文档

属性值可以调用函数

parody 中还提供了一些内置的函数,并针对特定类型提供了内置的函数可供选择使用。例如:

类型 说明 函数调用语法
string 生成随机字符串 @string(length?: number)
number 生成随机数值 @float(min?: number, max?: number, dmin?: number, dmax?: number)
@integer(min?: number, max?: number)
boolean 生成随机布尔值 @boolean(min?: number)
object 生成随机对象 @object(object: {[key: string]: any})
array 生成随机数组 @array(array: Array<any >, min?: number, max?: number)

自定义函数

当内置函数不能满足需求时,可以自定义注入函数。例如:

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

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

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

------------------
展开代码

上面的代码中,我们使用 parody.inject 方法注册了两个自定义函数 randIntrandString。通过自定义函数,我们可以更灵活地生成需要的测试数据。

结语

使用 parody 生成测试数据可以让我们得到更高效的测试效果,每一个程序员在编写代码时虽然力求避免出错,但是没有谁能保证代码没有任何bug,因此,生成真实且丰富的测试数据是十分重要的。本文介绍了 npm 包 parody 的基本使用方法,同时介绍了较为深入的数据模板概念、函数调用等,希望这篇文章对你有所帮助。

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

纠错
反馈

纠错反馈