npm 包 done-criteria 使用教程

阅读时长 6 分钟读完

在前端开发中,完成任务后如何验收代码的正确性呢?通常是通过人工检查或使用测试框架来检查代码实现的正确性。而 done-criteria 包则提供了一种更加方便、可配置的方式来进行验收。

什么是 done-criteria

done-criteria 是一款基于 Promise 的验收工具包。开发者可以通过配置“完成标准”,即满足什么情况下代码算是完成了,来自动化完成验收流程。

安装 done-criteria

你可以通过 npm 直接安装 done-criteria:

接着,你可以在项目中引入 done-criteria:

如何使用 done-criteria

done-criteria 的主要 API 为 done 方法。当你需要验证你方法的结果时,你可以用 done 方法设置完成标准,done-criteria 会根据你设置的完成标准来判断方法是否完成,完成后 done 方法会返回一个 Promise 对象。

下面是一个简单的例子:

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

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

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

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

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

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

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

-------

在这个例子中,我们定义了一个 multiply 方法,它接受两个参数 xy,并将它们相乘。如果 result 大于 10,则我们认为方法完成了,调用 doneCriteria.done() 来设置完成标准,最后返回 doneCriteria.getPromise()

main 方法中,我们调用了 multiply 方法,并等待其完成。如果 multiply 方法返回的 Promise 成功被解析,控制台将输出“验证通过”。

可以看到,我们在上述例子中只是使用了 done-criteria 最基本的功能。下文将介绍其更多用法。

配置完成标准

可以通过在 done 方法中传入参数来配置完成标准。完成标准可以是以下类型之一:

对象字面量

该标准表示,当返回结果中的 responseCode 属性等于 200 时,认为方法已完成。

属性 类型 默认值 描述
result Any undefined 预期的返回结果
error Error undefined 预期的错误

布尔值

该标准表示,方法完成时需要返回 false。

函数

该标准表示,方法完成时需要返回一个满足条件的值。

属性 类型 默认值 描述
result Any undefined 方法返回的结果
error Error undefined 方法抛出的错误
expected Any undefined 预期值

校验重试

如果你的方法需要多次校验才能达到完成标准,你可以使用 doneCriteria.retry 方法来配置校验重试的方式。它接受以下参数:

参数 类型 描述
options Object 配置项
options.times Number 最大校验次数,默认值为 1
options.interval Number 校验间隔,单位为毫秒,默认值为 1000
condition Function 校验条件

以下是一个具体例子:

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

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

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

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

在本例中,假设 doSomething 方法会在第 5 次调用时返回合适的结果。我们使用 doneCriteria 的 retry 方法,它调用 doSomething 方法进行校验,直到返回的结果达到完成标准为止。我们将 retries 的最大次数和校验间隔都设置较高,以便我们可以在测试时观察它的工作方式。

高级用法

除了上面提到的用法,done-criteria 还提供了更多的 API,可以满足更多需求。

changeCondition(condition)

该方法用于更改预期条件。如果该方法在调用 done 方法之前被调用,则调用 done 方法时,新的条件将覆盖旧条件。

getPromise()

该方法返回 done 方法返回的 Promise 对象。

isDone()

该方法返回一个布尔值,表示是否已满足完成标准。

abort()

该方法强制终止当前的校验。

then(callback)

该方法用于向 Promise 对象注册回调函数。

catch(callback)

该方法用于向 Promise 对象注册异常处理函数。

结语

done-criteria 是一个非常实用的验收工具,可以帮助我们节省大量的验收时间和人力成本。当你在处理类似的自动化验收任务时,务必考虑使用该工具!

完整的代码示例可以在 GitHub 上找到。

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

纠错
反馈