将反应测试库与故事镜头一起使用?

2024-01-10

是否可以将反应测试库与故事书故事镜头插件一起使用?我想对不使用酶的反应成分进行一些测试。


对你来说可能有点晚了,但我只是在研究这个确切的问题。这是我想出的配置,它似乎对我有用。

import initStoryshots from "@storybook/addon-storyshots";
import path from "path";
import { render } from "react-testing-library";


const reactTestingLibrarySerializer = {
  print: (val, serialize, indent) => serialize(val.container.firstChild),
  test: (val) => val && val.hasOwnProperty("container")
};

initStoryshots({
  configPath: path.join(__dirname, "..", "config", "storybook"),
  framework: "react",
  integrityOptions: { cwd: path.join(__dirname, "stories") },
  renderer: render,
  snapshotSerializers: [reactTestingLibrarySerializer],
  storyKindRegex: /^((?!.*?DontTest).)*$/
});

秘密是传递一个自定义的 Jest串行器 https://jestjs.io/docs/en/configuration#snapshotserializers-array-string为了快照序列化器 https://github.com/storybooks/storybook/tree/master/addons/storyshots/storyshots-core#snapshotserializers从渲染函数的结果获取容器并传递其firstChild进行序列化的选项。

如果需要,您可以在序列化之前修改容器的内容,以使用 DOM api 删除不稳定的属性或整个元素。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将反应测试库与故事镜头一起使用? 的相关文章

  • yup.js 验证数字字段大于同级字段,或者可以为空

    我正在使用 Yup js 来验证一些表单字段 我有两个整数字段 Year Built Year Renovated Year Built是必填字段 Year Renovated is not 不过 装修年份可以留空如果有一个值它应该大于建造
  • 如何纠正流警告:解构(缺少注释)

    我正在编写一个小型 React Native 应用程序 并且正在尝试使用 Flow 但我无法在任何地方真正获得有关它的正确教程 我不断收到错误 destructuring Missing annotation 有关 station 这段代码
  • Cypress 在 Create React App 中返回 .scss 文件的 webpack 编译错误

    我正在尝试将 Cypress 添加到非常基本的 CRA 但遇到了 Cypress 无法理解 scss 文件的问题 当我跑步时npm run cypress运行测试 我收到以下错误 Error Webpack Compilation Erro
  • 如何在执行新操作时取消先前操作的执行?

    我有一个动作创建器 它会进行昂贵的计算 并在每次用户输入内容时调度一个动作 基本上是实时更新 但是 如果用户输入多个内容 我不希望之前昂贵的计算完全运行 理想情况下 我希望能够取消执行先前的计算并只执行当前的计算 没有内置功能可以取消Pro
  • redux 是否会在对存储进行任何更新时评估存储的所有侦听器?

    据我所知 当商店中的任何内容发生变化时 redux 都会通知商店的所有订阅者 无论是对深层嵌套叶子的订阅还是对状态顶层的订阅 在您遵循指导原则的应用程序中 许多单独的组件应该连接到商店 而不是仅仅几个 docs https redux js
  • Next.js - 如何使用 Provider 来包装路由并使用 Context 和 Hooks

    我在 create react app 中编写了类似于以下的代码 我想知道 next js 的等效代码 下面的代码是我尝试拥有一个可用于所有页面的全局上下文 提供者包装链接 我没有收到任何错误 问题出在里面about当我期望上下文状态时 页
  • 如何在 React 组件中使用 CDN

    我正在尝试使用基于 D3 构建的库 称为 Greuler 来动态渲染图形 它的 npm 包似乎已损坏 当我改用 Greuler CDN 时 index html 中的测试图终于起作用了 但是 我正在开发一个 React 应用程序 并且我希望
  • jest.mock() 在测试内部不起作用,仅在测试外部起作用

    我有一套简单的测试 在某些情况下我想模拟一个模块 而在某些情况下则不想 然而 jest mock 仅当将其置于测试之外时才有效 任何人都知道为什么会这样以及我做错了什么 这是我想要模拟的函数的实际导入 import hasSupport g
  • 为什么使用 getDerivedStateFromProps 而不是 componentDidUpdate?

    正如读到的这个 React Github 问题 https github com facebook react issues 12310我看到越来越多的 的代价render 相对较小 在 React 16 3 中 我想知道为什么要使用新的
  • 通过 Javascript 填充 ReactJS HTML 表单

    我正在开发一个应用程序 在打开第 3 方网站后 我可以在浏览器上下文中运行我自己的 Javascript 作为一个基于reactjs构建并具有登录表单的示例网站 您可以参考此链接 我正在尝试在reactjs生成的表单中填写用户名和密码 但是
  • 如何在 React 中将图像加载到画布上?

    如何在 React 中将图像上传到画布的整个宽度 高度 例如 class PlanPage extends Component constructor props super props componentWillMount this se
  • React router.push 和 router.replace 之间的区别?

    有什么区别React 路由器推送 and 路由器 替换 路由器历史记录就像一个stack of routes 当您使用router replace 您将覆盖堆栈的顶部 当使用router push 它在顶部添加了一条新路线stack 路由器
  • React 文件预览 (FIREBASE)

    我目前将文件存储在 Firebase 存储中 我希望能够实时生成每个文件的文件预览 映射 例如 PDF 文件会将第一页显示为图像 docx 将是文档的第一页 pptx 将是第一张幻灯片 未知文档将是默认文档符号 有人知道有什么好的服务可以轻
  • React Material UI CardMedia 视频组件未播放

    我看到缩略图 但无法启动或停止视频 还有什么方法可以让它自动播放和重复吗 https material ui com api card media https material ui com api card media
  • npm 命令 create-react-app 失败

    我正在尝试在运行 Os X sierra 10 12 6 的计算机 mac pro 2017 上测试reactjs 我已经遵循了 Facebook 教程 确保您安装了最新版本的 Node js done 按照安装说明进行操作创建一个新项目
  • React - 无法读取未定义的属性[重复]

    这个问题在这里已经有答案了 通常 当我单击子组件中的菜单项时 它会调用 this handlesort 这是一个本地函数 处理排序从我的父组件中获取 onReorder 属性 onReorder 调用名为 reOrder 的本地函数 它设置
  • 在 webpack 2.x 中使用 autoprefixer 和 postcss

    如何使用autoprefixer使用 webpack 2 x 以前 它曾经是这样的 module loaders test scss loader style css sass postcss postcss gt return autop
  • firebase :: 无法读取 null 的属性“props”

    你好 我正在尝试将react router与firebase一起使用 但它给了我这个错误 无法读取 null 的属性 props 这正是代码 我正在其中使用我的反应路由器 向下代码位于作为登录面板组件的组件上 else if this em
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中

随机推荐

  • 前景窗口与活动窗口

    在Windows中 前台窗口和活动窗口有什么区别 具体来说 什么情况下前台窗口不能是活动窗口 如果这两个术语指的是同一概念 那么为什么有两个术语 The msdn documentation here mentions clicking a
  • 在 Rails 3 中生成 RSS feed

    我正在寻找在 Rails 3 中生成提要的最佳实践 标准模式 是http railscasts com episodes 87 generate rss feeds http railscasts com episodes 87 gener
  • Angular 1.5 中的组件通信

    Angular 1 5 组件通信建议通常具有输出绑定来调用根控制器上的方法 假设我有一个根组件和两个子组件
  • 默认命名空间是什么

    C 中的默认命名空间是什么 include
  • 使用 cron 发送电子邮件并包含来自 Moodle 的电子邮件附件

    我只想向已完成特定课程的用户发送电子邮件 并添加 pdf 文件 完成课程的证书 作为电子邮件的附件 并使用 Moodle cron 在特定时间执行此操作 我查看了一些插件来了解它是如何完成的 但我仍然不确定我到底应该如何做到这一点 I ne
  • ServerSocket + 客户端套接字 - 如何获取客户端的 IP 地址?

    我有一个正在侦听连接的 ServerSocket 实例 当客户端连接到它时 我想获取所连接套接字的IP 但似乎找不到正确的方法 public void start listenSocket new ServerSocket port con
  • .net中如何将一个流的内容写入另一个流?

    我经常遇到这样的问题 我有一个充满数据的流 并且想将其所有内容写入另一个流 所有代码示例都使用字节数组形式的缓冲区 有更优雅的方法吗 如果不是 缓冲区的理想大小是多少 哪些因素构成了这个值 在 NET 4 0中我们终于得到了Stream C
  • Mac VoiceOver 会读取列表项目两次

    这是我的html ul li Hello li li World li ul 我在 Mac OS X 10 11 5 上使用 VoiceOver 当我浏览此页面时VO A 我听到以下内容 HTML 内容 列出两项 子弹 你好 小组 Hell
  • java.lang.NoSuchMethodError:android.app.Notification$Builder.build

    我刚刚在我的应用程序的通知栏中添加了通知图标 该应用程序支持 Android gt 11 并且开始抛出以下错误 java lang NoSuchMethodError android app Notification Builder bui
  • 海洛库:!您无权访问应用程序 heroku

    我最初有一个应用程序 设置了默认名称 heroku 不过我想改变这一点 所以我有两个应用程序 一个是登台应用程序 一个是生产应用程序 遵循 Heroku 指南here https devcenter heroku com articles
  • flex 不能对一个 div 使用两个对齐方式

    我需要一个卡片列表布局 为此我使用 Flex 在大型设备中一切正常但是当设备变小并且两张牌不能相邻并且转到下一行 我的内容这不是中心 换句话说 我需要center我的内容在所有设备尺寸以及两张卡放在一起时应该是和中心之间的空间 contai
  • 为什么 fseek 使用 read() 系统调用?

    我试图理解 glibc 的实现fseek 为此 我下载了 glibc 源代码并尝试了解其函数执行顺序 我找到了fseek实施于libio fseek c 基本上 它调用函数 或者更确切地说是宏 IO fseek 使用相同的参数 该宏的实现是
  • 将字符串拆分为多行

    我编写了一个连接到 Oracle 数据库以选择特定表中的多个条目的脚本 该声明如下所示 rs open SELECT PATH301 FROM NC301B WHERE EDIPROC like P30 AND LF301M gt 0 AN
  • 如何在.net core应用程序中使用OData?

    根据文档 http odata github io WebApi 11 01 OData V4 Web API 脚手架 http odata github io WebApi 11 01 OData V4 Web API Scaffoldi
  • 记录时使用同步

    在我的应用程序中 我使用 Java Util Logging 编写了自己的日志记录实用程序 import java io IOException import java io InputStream import java util Pro
  • 使用PyInstaller编译python程序后如何输入参数

    After import sys I use sys argv获取输入参数 但是当我用PyInstaller编译我的程序后 exe程序将不接受我的输入 相反 它使用我为程序设置的默认值 如果我运行它python this script py
  • django_cms ImproperlyConfigured:导入中间件 cms.middleware.media 时出错

    我正在将一个使用 django cms 的应用程序从一台一切正常的服务器移动到另一台服务器 并在过去 4 小时内尝试查找此错误的原因 非常欢迎提出建议 mod wsgi pid 21972 Exception occurred within
  • .NET 4.5 WebForms:我(仍然)真的必须在 FormView 中指定所有 3 个模板吗?

    研究 ASP NET 4 5 WebForms 中新的强类型 模型绑定方法 In 斯科特 汉塞尔曼的例子 http www hanselman com blog OneASPNETSneakPeekElegantWebFormsAndSno
  • 在 iOS 中运行 UIAutomation 时模拟器超时问题

    我正在运行 UIAutomation 脚本 有时脚本会成功执行 而有时会崩溃说 模拟器会话超时 并且此消息的间隔时间也不同 如果我在执行脚本时有 for 循环 那么有些它会执行三次 有时直到 10 次迭代 有时甚至直到第 25 次迭代 并且
  • 将反应测试库与故事镜头一起使用?

    是否可以将反应测试库与故事书故事镜头插件一起使用 我想对不使用酶的反应成分进行一些测试 对你来说可能有点晚了 但我只是在研究这个确切的问题 这是我想出的配置 它似乎对我有用 import initStoryshots from storyb