npm 包 done-criteria 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

在前端开发中,完成任务后如何验收代码的正确性呢?通常是通过人工检查或使用测试框架来检查代码实现的正确性。而 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


猜你喜欢

  • npm 包 hoodie-integration-test 使用教程

    前言 在前端开发过程中,代码测试是非常重要的环节。在早期的项目中,为了简单粗暴地实现测试,我们常常采用手动测试或自动化测试。但是随着项目规模和团队人数的增长,手动测试和自动化测试会变得越来越难以维护和...

    4 年前
  • npm 包 grunt-release-hoodie 使用教程

    在前端开发过程中,我们经常会用到自动化工具,比如 Grunt 和 Gulp 等。而 grunt-release-hoodie 就是一个基于 Grunt 的插件,用于发布 hoodie 应用的自动化工具...

    4 年前
  • npm包bower-config使用教程

    在前端开发中,我们最常用的构建工具之一就是bower。Bower是一种用于管理Web开发库和框架的软件包管理器,它经常和NPM一起使用。 一些NPM包可以根据需要作为Bower包的依赖项进行安装。

    4 年前
  • npm 包 grunt-mocha-browser 使用教程

    作为前端开发者,我们经常需要写一些 JS 测试用例,以确保前端程序的正常运行。而在这个过程中,我们需要使用到一些自动化测试工具,其中就有一个非常受欢迎的工具——Mocha。

    4 年前
  • npm 包 hoodie-plugin-users 使用教程

    前言 Hoodie 是一款免费、开源的后端框架,可用于快速构建基于 Web 的应用程序。Hoodie 旨在为前端开发人员提供更简单的方式来实现 Web 应用程序的后端部分。

    4 年前
  • npm 包 pouchdb-collate 使用教程

    pouchdb-collate 是一个在前端开发中非常优秀的 npm 包,用于对数据进行排序、分组、聚合等一系列操作。本文将介绍这个包的使用教程,包括安装、导入、基础使用、高级用法等内容。

    4 年前
  • npm 包 documentation-theme-utils 使用教程

    注:本文适合前端开发者以及使用 npm 的用户,主要介绍 npm 包 documentation-theme-utils 的使用教程。 什么是 documentation-theme-utils?...

    4 年前
  • npm 包 sorted-joyo-kanji 使用教程

    介绍 sorted-joyo-kanji 是一个 npm 包,它提供了日本常用汉字(也称“常用汉字表” or “教育汉字表”)的排序和列表。sorted-joyo-kanji 包括了 213 个日本常...

    4 年前
  • npm 包 @textlint/ast-node-types 使用教程

    前言 在前端开发过程中,文本检查与修复是一个十分重要的环节。而 @textlint/ast-node-types 这个 npm 包,提供了一种快速解析文本的方法,可以方便的进行语法检查与纠错。

    4 年前
  • npm 包 @textlint/ast-traverse 使用教程

    前言 前端开发中,我们通常使用一些工具和框架来帮助我们提高效率和简化工作流程。npm 是一个 Node.js 的包管理工具,提供了大量的包供我们使用,其中 @textlint/ast-traverse...

    4 年前
  • npm 包 @textlint/feature-flag 使用教程

    在前端开发中,使用 feature flag 是一个非常常见的技术手段,它允许开发人员将代码和功能进行分组,以便根据条件、事件或特定目的使用它们。@textlint/feature-flag 是一个非...

    4 年前
  • npm 包 @textlint/markdown-to-ast 使用教程

    在前端开发中,我们通常需要处理各种不同格式的数据。其中,Markdown 是一种常用于文档撰写的格式,而将 Markdown 转化为 AST(抽象语法树)则是对 Markdown 数据进行解析的一种方...

    4 年前
  • npm 包 @types/structured-source 使用教程

    在前端开发中,我们经常使用各种工具、框架和库。其中,npm 是一个非常重要的工具,可以集成各种功能模块,并提供了很多方便的包管理功能。而 @types 则是一个特殊的 npm 包,用于提供 TypeS...

    4 年前
  • npm 包 @textlint/fixer-formatter 使用教程

    在前端开发中,我们经常需要进行文本的规范化和统一格式。而针对这一需求,一个很好用的工具就是 textlint,它是一个强大的文本规范工具,可以用于诸如拼写检查、语法检查、文本风格检查等。

    4 年前
  • npm 包 @textlint/utils 使用教程

    在编写前端代码的过程中,我们难免会面临一些文本相关的问题,比如中英文混排导致的排版问题,还有语法错误等。针对这些问题,我们可以使用一个名为 @textlint/utils 的 npm 包来进行处理,这...

    4 年前
  • npm 包 @textlint/kernel 使用教程

    在前端开发过程中,文本内容的处理是必不可少的任务。而随着项目规模的扩大和技术栈的增加,文本处理的复杂度也在增加。此时,我们需要一个成熟的解决方案来处理各种文本相关的问题。

    4 年前
  • npm 包 @azu/format-text 使用教程

    在前端开发过程中,对于输出的文本格式化通常需要进行手动调整,这样才能使得文本更加清晰明了。而 @azu/format-text 包正是为了解决这个问题而生的。它能够帮助开发者轻松地对输出的文本进行格式...

    4 年前
  • npm 包 @azu/style-format 使用教程

    目录: 简介 安装 使用方式 参数选项 示例代码 结论 简介 在前端开发中,一份良好的样式表可以给网站或应用程序增色不少。但是,缺乏统一标准的样式规范,使得代码难以阅读和维护。

    4 年前
  • npm 包 @textlint/linter-formatter 使用教程

    在前端开发中,我们经常需要检查文本中的拼写、语法、风格等问题。这时,我们可以使用 @textlint/linter-formatter 这个 npm 包来帮助我们完成这些任务。

    4 年前
  • npm 包 @textlint/module-interop 使用教程

    在前端开发中,我们经常需要使用各种不同的工具和库来完成项目的开发。而如何组织和管理这些工具和库,是一个重要的问题。npm 是一个非常好的解决方案,它可以帮助我们方便地安装、升级、管理各种工具和库。

    4 年前

相关推荐

    暂无文章