npm 包 chai-sorted 使用教程

阅读时长 3 分钟读完

前言

chai-sorted 是一个可以让你在测试时很方便地测试数组是否已经排好序的 npm 包。对于前端工程师来说,JavaScript 数组的排序很常见,使用 chai-sorted 可以更加方便地测试排序是否正确。本文将会为大家介绍如何使用该包。

安装和使用

  1. 安装
  1. 引入和使用
-- -------------------- ---- -------
----- ---- - ----------------
----- ---------- - -----------------------
---------------------

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

深入学习

chai-sorted 提供一个 sorted 方法,这是如何实现的呢?我们来看一下源码:

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

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

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

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

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

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

从源码可以看出,chai-sorted 通过 sorted 函数来实现数组排序的检测。在 sorted 函数中,首先解析 order,用的是 parseOrder 函数。parseOrder 函数里是一个 switch,根据传进来的值,映射出 descending 或 ascending 或 undefined,这个值默认是 undefined。sorted 函数中,将对象转换成数组,判断它是不是一个数组,如果不是,则抛出异常。然后将该数组利用 slice 方法生成一个新数组,再利用该数组的 sort 方法进行排序,方法里传的比较函数根据 order 的值而不同,最后将它们都转换成字符串,进行检测。

指导意义

chai-sorted 是一个可以让测试排序的过程更加方便的 npm 包,使用它可以很方便地测试排序是否正确。chai-sorted 的源码也不算太复杂,你可以通过学习其源码来对比了解其他 npm 包的实现方式。

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