npm 包 happo-plugin-typescript 使用教程

在前端开发中,我们经常会用到一些自定义的组件和 UI 库,而这些组件和库的测试和验证是非常重要的。happo-plugin-typescript 是一个 npm 包,它可以帮助我们快速验证我们的组件是否符合预期。

安装

首先,我们需要在项目中安装 happo-plugin-typescript

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

配置

接下来,我们需要在项目的根目录下创建一个 .happo.js 配置文件,该文件用于配置 happo 的设置以及要测试的组件。在配置文件中添加以下代码:

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

-------------- - -
  ------- ------------
  ---------- ---------------
  -------- -
    --------------------------------
    -----------------------
    ----------------------
    -----------------------------
  --
  -------- -
    ------- ---------
  --
  -------- -----------------
  -- -------- ----------------------  -- ------------------------ ------- -
--
  • apiKeyapiSecret 是 happo 提供的 API 密钥,用于上传测试结果到其官方网站。可以在 这里 申请密钥,或在项目的环境变量中设置。
  • plugins 中包含了 happo 的几个插件,分别用于匹配图片、HTML、CSS 和 TypeScript。
  • targets 指定了要测试的浏览器和版本。
  • include 指定了要测试的组件路径和后缀。
  • exclude 可选项,用于排除部分文件。如果需要排除,请取消注释并修改 exclude 值。

使用

配置完成后,我们就可以使用 happo 来测试我们的组件了。

命令行

使用命令行 npx happo run 即可运行测试:

--- ----- ---

启动测试后,happo 会自动打开浏览器,并在页面上展示测试结果。

集成到 CI/CD

如果需要在 CI/CD 中运行测试,我们可以使用 happo 的 CLI 工具。

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

其中,$TRAVIS_COMMIT 是 Travis CI 环境变量,因此需要根据实际情况进行修改。如果不使用 Travis CI,可以将该变量替换为其他变量或值。

示例代码

以下是一个简单的 happo 测试示例,包含了一个有状态和无状态的组件,用于测试组件的 props 是否正确:

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

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

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

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

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

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

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

我们可以使用以下代码来测试组件:

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

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

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

以上代码中,toMatchHappoSnapshot() 函数用于检查组件是否符合预期,并生成截图进行比较。如果比较结果相同,则测试通过。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedaa3ab5cbfe1ea06103ce


猜你喜欢

  • npm 包 idlize 使用教程

    在前端开发中,我们经常需要将字符串转化为规范的英文单词,这时候 idlize 这个 npm 包就非常有用了。 idlize 可以将网络带宽、骆驼命名等非标准的字符串转化为标准的英文单词,使代码更可读、...

    4 年前
  • npm 包 @bolt/lazy-queue 使用教程

    随着前端领域的不断发展,越来越多的开发者开始使用 npm 包管理器来管理自己的项目,这种方式能够方便开发者快速使用已经编写好的工具包和库。在本文中,我们将会介绍如何使用 npm 包 @bolt/laz...

    4 年前
  • NPM 包 @bolt/elements-table 使用教程

    在前端开发中,表格是常见的 UI 元素之一,通常用于展示大量数据,因此我们需要一个简单易用、可自定义的表格组件。而 @bolt/elements-tables 就是这样一个 NPM 包,同时可以让我们...

    4 年前
  • npm 包 @bolt/tools-list-sort 使用教程

    简介 @bolt/tools-list-sort 是一款便捷的 npm 包,可以为你的前端项目提供列表排序的功能。这个包非常轻巧,使用方便,可以直接在项目中引入使用。

    4 年前
  • npm 包 stickyfilljs 使用教程

    在前端开发中,实现某些功能时会用到固定某个元素在页面中位置不变,滚动过程中一直保持在页面固定位置上。这时候我们就需要使用 stickyfilljs,一种实现CSS sticky效果的 JavaScri...

    4 年前
  • npm 包 @bolt/tools-map-sort 使用教程

    介绍 @bolt/tools-map-sort 是一个可用于对 JavaScript Map 对象进行排序的 npm 包。本文将详细介绍如何在前端开发中使用该包,以及它的学习和指导意义。

    4 年前
  • npm 包 @bolt/tools-no-select 使用教程

    在前端开发中,有时我们需要在特定情况下禁止用户选择页面中的文本,这时候我们可以使用 @bolt/tools-no-select,这是一个可以通过 npm 安装的工具包。

    4 年前
  • npm 包 gumshoejs 使用教程

    简介 gumshoejs 是一个 JavaScript 库,它提供了一种简单的方式来在页面上跟踪当前滚动到的位置。它可以用于创建自定义的滚动跟踪功能,比如在单页应用程序中跟踪当前导航菜单项、高亮当前阅...

    4 年前
  • npm 包 @bolt/tools-poly-fluid-sizing 使用教程

    本文章将介绍如何使用 npm 包 @bolt/tools-poly-fluid-sizing 实现页面的流式布局。@bolt/tools-poly-fluid-sizing 是一个解决响应式布局固定宽...

    4 年前
  • npm 包 preact-markup 使用教程

    简介 在前端开发中,HTML 是网页的基础语言,而 preact-markup 则是一款基于 Preact 的 HTML 模板渲染引擎。preact-markup 具有渲染速度快、轻量化等特点,非常适...

    4 年前
  • npm 包 @bolt/tools-px-to-rem 使用教程

    前言 在前端开发中,尺寸的转换一直都是一个需要注意的地方,不同设备的屏幕大小、分辨率以及用户设定的字体大小都会影响到页面的展示效果。因此,为了适应不同屏幕的显示效果,我们需要对 CSS 尺寸单位进行转...

    4 年前
  • npm 包 @bolt/tools-sassy-maps 使用教程

    前言 在前端开发中,我们经常需要使用样式变量,如颜色、字体大小等,为了方便维护这些变量,我们可以使用 Sass 来预处理 CSS。在 Sass 中,我们还可以使用 map(映射)来管理变量,而 @bo...

    4 年前
  • npm 包 @bolt/tools-scrolling 使用教程

    在前端开发中,滚动效果是一个常见的需求。然而,实现滚动效果常常需要复杂的代码和实现细节,对于普通开发者来说难度较大。此时,npm 包 @bolt/tools-scrolling 就成为了一个非常好的解...

    4 年前
  • npm 包 @bolt/components-headline 使用教程

    介绍 @bolt/components-headline 是一个 Bolt Design System 中的 npm 包,提供了一些常见的标题样式,使用此包可以方便快捷地实现统一的标题样式,提高前端代...

    4 年前
  • npm 包 wc-context 使用教程

    在 Web Components 中,组件之间的通讯是非常重要的。然而,由于不同库之间通常存在不兼容性,开发者需要耗费大量时间去解决这个问题。这时,npm 包 wc-context 就能派上用场了!本...

    4 年前
  • npm 包 @bolt/tools-spacing 使用教程

    前言 在前端开发中,布局往往是非常重要的,对于不同的元素之间的距离和排列方式,我们通常需要采用不同的方式。而在使用 CSS 进行布局时,调整元素与元素之间的空间往往是一种比较繁琐的过程。

    4 年前
  • npm 包 @bolt/global 使用教程

    在前端开发中,我们经常使用的一些工具或者代码库,可以通过 npm 包的形式封装起来供我们使用。其中,@bolt/global 是一个非常实用的 npm 包,提供了一些全局的 CSS 样式和 JavaS...

    4 年前
  • npm 包 @bolt/components-action-blocks 使用教程

    前言 在前端开发中,经常需要使用一些 UI 组件。而在许多情况下,自己编写的组件需要再次使用,这时候就需要将这些组件封装成 npm 包,以便于他人使用。 本文就是要介绍一个非常优秀的 UI 组件 np...

    4 年前
  • npm 包 @bolt/tools-strip-unit 使用教程

    在前端开发中,涉及到长度、宽度、高度等属性时,通常是使用带有单位的 CSS 属性值,例如 width: 100px; 或 height: 50vh;。然而,在一些情况下,我们可能需要将这些属性值去掉单...

    4 年前
  • npm 包 @bolt/components-background 使用教程

    简介 在前端开发中,使用各种框架和库进行快速的开发已经变得非常常见。NPM(Node.js 包管理器)是一个广泛使用的包管理器,允许开发者轻松地安装、更新和管理依赖项。

    4 年前

相关推荐

    暂无文章