npm 包 happo-plugin-storybook 使用教程

happo-plugin-storybook 是一个可以帮助我们通过 Happo 截图测试我们的 React 应用的 npm 包。Happo 是一个基于 Chromium 的自动化截图工具,用于捕获和评估您的应用程序在各种设备、浏览器、分辨率和字体方案上的视觉差异。

在本文中,我们将探讨如何使用 happo-plugin-storybook npm 包以及如何进行基本的截图测试。

安装

安装 happo-plugin-storybook 最简单的方法是通过 npm 进行安装:

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

前提条件

在继续之前,请确保你已经了解一些基本的 React 和 Storybook 知识。你需要有一个可以用作测试目标的 React 应用程序,可以用 Storybook 进行构建并运行。

本文假设您已经为您的 React 应用程序配置了 Storybook

配置

在您的项目根目录中创建一个名为 .happo.js 的新文件,然后将以下代码复制到该文件中:

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

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

该插件使用 Storybook 框架为给定的一组组件中的每个组件创建快照。上面的代码块旨在在组件的实例化中使用 withHappo 装饰器。

用法

有两种方法可以使用 happo-plugin-storybook 进行快照测试。一种是在命令行使用 Happo。另一种则是集成 Happo with CI/CD。

命令行使用 Happo

要使用 Happo 进行快照测试,需要 Happo CLI (一个是 Happo 官方 CLI 工具)。该 CLI 可以在本地运行快照测试,也可以与 CI/CD 管道一起使用。

首先,安装 happo-cli:

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

接下来,您需要在 Happo 上创建一个新项目。打开一个终端并导航到您的项目根目录。然后执行以下命令:

----- ----

Happo CLI 会在本地文件夹中创建一个 .happo.yml 文件,并提示您输入项目的名称。随后,Happo CLI 将自动生成一个示例快照测试,以便您可以更轻松地了解如何为自己的组件编写快照测试。

可以在 .happo.yml 文件中添加以下节点:

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

这将配置 Happo 自动从我们 Storybook 的 .stories.js 文件中读取我们的组件,并与 happo-plugin-storybook 一起使用。

接下来,运行以下命令以执行快照测试,并生成结果报告:

----- ---

完成后,您可以在 Happo Web UI 上查看您的测试结果。

集成 CI/CD

与任何 CI/CD 管道一样,构建新代码时,您需要确保 happo run 命令在构建过程中自动运行。Happo 社区已经编写了一些很好的文档,以帮助您集成 Happo 与您的 CI/CD 管道。

示例代码

以下是一个使用 happo-plugin-storybook 进行截图测试的示例 .happo.js 文件:

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

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

以下是 Happo 的 .happo.yml 示例配置:

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

接下来,您还需要在存储库中创建您的 CI/CD 管道,并包含 happo run 命令。例如,如果您使用 Travis CI,则可以将以下内容添加到您的 .travis.yml 文件:

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

这将使 Travis CI 在构建过程中运行 happo run 命令,并通过 Happo Web UI 显示结果。

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


猜你喜欢

  • npm 包 @bolt/elements-page 使用教程

    简介 @bolt/elements-page 是一个 Bolt Design System 下的 React 页面元素组件库。它提供了多种基本页面元素的组件,比如按钮、输入框、表单等等,可以快速构建精...

    4 年前
  • npm包 @bolt/objects-ui-list 使用教程

    前言 @bolt/objects-ui-list 是一个基于Bolt Design System的UI列表组件。它可以用于构建简单但实用的UI列表,轻松地管理和显示数据,为用户提供良好的用户体验。

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

    前言 前端开发中,我们经常需要在页面中设置字体的粗细。常常使用 CSS 的 font-weight 属性来实现。但在实际开发中,我们经常遇到不同的字重数字表示不同的样式的问题。

    4 年前
  • npm 包 @polymer/gen-closure-declarations 使用教程

    在前端开发中,如果你使用 Polymer 这个库进行开发,你会发现需要编写 Closure Compiler 的声明文件来进行类型检查和优化。但是,手动编写这些声明文件是一项非常繁琐的工作。

    4 年前
  • NPM 包 @polymer/iron-media-query 使用教程

    1. 简介 @polymer/iron-media-query 是一个 Polymer 元素,用于在 Web 应用程序中创建可响应式的布局和样式。该元素可以帮助我们在指定的屏幕宽度下更新 Web 应用...

    4 年前
  • npm 包 @polymer/iron-scroll-target-behavior 使用教程

    @polymer/iron-scroll-target-behavior 是一个 Polymer 元素,它可以让你将滚动事件添加到任何元素上,同时提供帮助类来确定用户是否在滚动元素上或在滚动元素内部。

    4 年前
  • npm 包 @polymer/paper-badge 使用教程

    简介 @polymer/paper-badge 是 Polymer 项目中的一个元素,用于在元素的右上角显示数字徽章。该元素封装了着色、阴影、动画等样式,方便开发者快速使用。

    4 年前
  • 前端开发: npm 包 @polymer/iron-dropdown 使用教程

    随着前端技术的不断发展,现代化的前端开发越来越倚重于构建组件化、可重用的应用程序。为了方便实现这一需求,许多优秀的 npm 包被提供出来,其中一个非常受欢迎的包就是 @polymer/iron-dro...

    4 年前
  • npm 包 @polymer/neon-animation 使用教程

    简介 @polymer/neon-animation 是一个为 Web 组件提供深度的动画效果的 npm 包。它是 Polymer 的子项目之一,提供了许多常见的动画效果和可定制的选项。

    4 年前
  • npm 包 @polymer/paper-menu-button 使用教程

    介绍 @polymer/paper-menu-button 是 Polymer 3.x 中的一个组件,用于实现可展开菜单的按钮。该组件通过使用 Polymer 的多个元素来构建自定义元素,以提供可重用...

    4 年前
  • NPM包 @polymer/iron-list 使用教程

    在前端开发中,需要展示大量数据时,很多时候会用到列表的展示方式。@polymer/iron-list 是一个 Polymer 中的列表组件,提供了高性能滚动,并可自动回收 DOM 节点等特性,减少了大...

    4 年前
  • npm 包 @polymer/iron-pages 使用教程

    前言 当我们的应用需要在多个页面之间切换时,我们并不是希望一次性加载所有的页面,而是在需要的时候再进行加载,这不仅可以提高页面的加载速度,还可以更好地管理我们的代码。

    4 年前
  • npm 包 @polymer/iron-scroll-threshold 使用教程

    介绍 随着前端技术的发展,越来越多的网站需要实现无限滚动加载等功能,这时候就需要用到 @polymer/iron-scroll-threshold 这个 npm 包了。

    4 年前
  • npm 包 @polymer/paper-fab 使用教程

    什么是 @polymer/paper-fab? @polymer/paper-fab 是一个由 Polymer 团队开发的可重用 Web Components 元素。

    4 年前
  • npm 包 @polymer/paper-item 使用教程

    介绍 @polymer/paper-item 是 Polymer 3.x 中的一个可重用组件,用于创建具有单行文本和/或图像的项目。在构建 Web 应用程序时,您可能需要在工具栏、列表、下拉列表等组件...

    4 年前
  • npm 包 @polymer/paper-listbox 使用教程

    简介 @polymer/paper-listbox 是一个基于 Polymer 2.0 的组件库,提供了一个带有选择器的列表框。它具有可定制的风格和交互方式,易于集成到现有项目中。

    4 年前
  • npm 包 @polymer/iron-range-behavior 使用教程

    随着 Web 应用的不断发展,前端开发中使用的工具也不断更新升级。其中,npm(Node.js Package Manager)是前端开发过程中使用非常广泛的包管理器。

    4 年前
  • `npm` 包 `@polymer/paper-progress` 使用教程

    简介 @polymer/paper-progress 是一个基于 Polymer 框架的 Web Component,是一个简单易用的进度条控件。它提供了许多可自定义的属性,可以实现丰富多样的表现形式...

    4 年前
  • npm 包 @polymer/paper-spinner 使用教程

    前言 在前端开发中,我们常常需要对页面进行加载动画的设计,来让用户在等待数据加载的过程中获得更好的体验。而 @polymer/paper-spinner 这个 npm 包则提供了一个简单易用的方案来实...

    4 年前
  • npm 包 @polymer/iron-selector 使用教程

    介绍 @polymer/iron-selector 是一个 Polymer 元素,它提供了一个可配置的选择器,可用于选择一组特定的子元素。它可以控制子元素的选中状态,并提供了多种选择模式。

    4 年前

相关推荐

    暂无文章