npm 包 unexpected-mobx 使用教程

阅读时长 6 分钟读完

unexpected-mobx 是一款基于 unexpected 的测试工具,专注于测试 MobX 状态管理库。这个工具可以方便地对 MobX 应用程序的状态进行测试,并且可扩展性非常强。

安装

使用 npm 安装:

使用

引入

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

在需要测试的文件中引入相关库:

  • chai:测试框架库
  • sinon:用于测试 Mock 的库
  • sinonChai:基于 chai 的 sinon 扩展,在测试 Mock 的时候更方便
  • MobX:需要测试的库
  • unexpected:测试断言库
  • unexpected-mobx:增加 MobX 相关的测试支持

其他配置

在测试之前需要配置 MobX:

测试

接下来可以编写测试代码,下面是一段例子:

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

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

这段代码是对 todo 对象进行测试,它包含 name、done 和 status 三个属性,它们的具体含义在测试中有详细解释。

详解测试代码

这段测试代码使用 expect 表达式开始,它的第一个参数是目标对象 todo。to satisfy 是 expect 库中的一种断言,它会检查目标对象是否满足后面给定的条件。to be undefined 表示 done 属性不为 undefined。

and("when", () => { todo.done = true; }) 表示当执行这个函数中的代码时,后面的断言(to satisfy)应该继续。

then("to satisfy", { done: true, status: "done" }) 表示按照条件检查目标对象是否满足,包含 done 属性为 true,status 属性为 "done"。

更多例子

下面是一些更复杂的例子:

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

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

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

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

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

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

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

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

总结

本文介绍了 unexpected-mobx 的使用方法,同时还给出了一些测试代码的例子。通过使用这个工具,开发人员可以在测试 MobX 状态管理库时更加方便地进行测试,这极大地提高了开发过程的效率和质量。

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

纠错
反馈