首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用storybook管理React组件

": "^6.26.3", "babel-loader": "^7.1.5" }, "dependencies": { "react": "^16.6.3", "react-dom...": "^16.6.3" } PS:由于babel-loader最新版本是v8,需要babel版本是v7,所以按照官方教程直接安装babel-core(最高版本是v6)运行会失败,这里选择安装babel6...测试UI组件 4.1 写测试用例原因 找到bug 新修改没有改变已有的接口和功能 将测试用例作为文档 4.2 测试结构 使用storyshots插件来实现,其核心使用Jest,原理每次生成一份DOM...4.4 测试样式 样式测试这里采用Puppeteer 和Jest来实现,其原理利用Puppeteer无头chrome浏览器和storybookurl绑定组件特点,来渲染不同UI组件,再进行图片快照对比...写在最后 本文作者学习storybook一些总结,总体感觉接入成本不算高,但是模块包版本安装可能会有一些坑,收获给组件管理、文档和测试提供了一个一体化解决方案,还是很值得

3.3K20

提高代码质量——使用Jest和Sinon给已有的代码添加单元测试

Jest配置 安装依赖包 需要使用Jest,首先你需要进行安装,执行以下命令: npm install jest -D 如果你项目中存在.babelrc文件(使用了babel 6)时,不论你测试代码是否通过...babel进行编译,你都需要安装额外几个包: npm install babel-jest babel-core regenerator-runtime -D 如果你使用babel 7,则需要安装下面几个包...: npm install babel-jest 'babel-core@^7.0.0-0' @babel/core regenerator-runtime -D package.json文件配置 在安装完成依赖包以后...,如果你有相关jest配置项需要设置,你还可以在package.json文件中配置如下字段: { "jest": { } } .babelrc文件只需要保存之前配置,不需要做任何修改即可生效...如何设置单元测试使用ES2015配置 如果你单元测试文件中需要使用ES2015后通过babel来进行编译,那么需要对.babelrc文件配置进行部分修改。

3.7K00
您找到你想要的搜索结果了吗?
是的
没有找到

写代码无BUG,网易云前端单元测试方案总结

同时观察上面的输出可以发现,这个报告更像是程序错误报告,而不是一个单元测试报告。...当出现错误时输出如下 ? 因为运行在不同环境中需要包格式不同,所以需要我们针对不同环境做不同包格式转换,为了了解在不同端跑单元测试需要做哪些事情,可以先来了解一下常见包格式。...) 不支持(webpack) 单元测试要在不同环境下执行就要打不同环境对应包,所以在搭建测试工具链时要确定自己运行在什么环境中,如果在 Node 中只需要加一层 babel 转换,如果在真实浏览器中...jest Jest facebook 出一个完整单元测试技术方案,集 测试框架, 断言库, 启动器, 快照,沙箱,mock工具于一身,也是 React 官方使用测试工具。...虽然 Jest 提供了很丰富功能,但是并没有内置 ES6 支持,所以依然需要根据不同运行时对代码进行转换,由于 Jest 主要运行在 Node 中,所以需要使用 babel-jest 将 ES Module

9.5K20

手写一个简易版 Jest

Jest 流行前端单元测试框架,可以用它来写 Node 代码或者组件单测。 Jest 用起来并不难,很多人用了多年依然不知道它是怎么实现。...这个还是需要一些前置知识,我们一点点来看: 首先, jest、beforeAll、test、expect 这些 api 我们都没有从 jest 包导入,为什么就是全局可用呢?...因为 jest 注入 vm require 自己实现: 它实现 require.cache 时候 Proxy 动态代理了 get 方法,动态读取了注册模块值。...那么问题来了,如何获得出错位置行列号呢? 答案很巧妙,就是通过错误堆栈: 用正则匹配出来就行。 jest 内部也是这么实现: 拿到错误 stack 顶层 frame,解析出文件名和行列号。...我们实现了支持单测运行、支持钩子函数、支持 Mock 简易版 Jest。 还有一些功能没实现: 比如错误打印代码位置,这个用 @babel/code-frame + 解析错误堆栈行列号来实现。

12810

如何做前端单元测试

前言 对于现在前端工程,一个标准完整项目,通常情况单元测试是非常必要很多时候我们只是完成了项目而忽略了项目测试。...前端为什么需要单元测试? 必要性:JavaScript 缺少类型检查,编译期间无法定位到错误,单元测试可以帮助你测试多种异常情况。 正确性:测试可以验证代码正确性,在上线前做到心里有底。...调查中另一个有趣见解,在大型组织中单元测试更受欢迎。其中一个原因可能,由于大型组织需要处理大规模产品,以及频繁功能迭代吧。这种持续迭代方式,迫使他们进行自动化测试投入。...}); }) 可见无论受欢迎度和写法上,Jest 都有很大优势,因此推荐你使用开箱即用 Jest 如何开始?...babel-core,然后取 .babelrc 中配置运行测试之前结合 babel 先把测试用例代码转换一遍然后再进行测试 4.测试 ts 文件 jest 需要借助 .babelrc 去解析 TypeScript

3.2K20

你不知道 Vue 单元测试(6000字实战单元测试)

不过你需要一个能够将单文件组件导入到测试中预处理器。我们已经创建了 vue-jest 预处理器来处理最常见单文件组件特性,仍不是 vue-loader 100% 功能。...❞ 环境配置 通过脚手架 vue-cli 来新建项目的时候,如果选择了 Unit Testing 单元测试且选择 Jest 作为测试运行器,那么在项目创建好后,就会自动配置好单元测试需要环境,直接能用...但是新建项目之初没有选择单元测试功能,需要后面去添加的话,有两种方案: 第一种配置: 直接在项目中添加一个 unit-jest 插件,会自动将需要依赖安装配置好。...需要匹配文件后缀 transform 匹配到 .vue 文件时候用 vue-jest 处理, 匹配到 .js 文件时候用 babel-jest 处理 moduleNameMapper 处理 webpack...异步测试 最后我们为了模拟异步测试,所以加一个需求,即页面加载时候会去请求远程待完成列表数据。

11.1K41

(2424) webpack小案例--自己动手用webpack构建一个React开发环境

Babel安装配置 在webpack中配置Babel需要先加入babel-loader,我们使用npm来进行安装,我们还需要支持es2015和React,所以要安装如下四个包: 此处为了兼容问题我使用指定版本安装方式...,如下: npm install --save-dev babel-core@6.26.3 babel-loader@7.1.4 babel-preset-es2015@6.24.1 babel-preset-react...babel-preset-es2015 babel-preset-react  这里四个包安装,这四个包不能省略。...安装后你会在package.json里看到这些包版本如下: "babel-core": "^6.26.3", "babel-loader": "^7.1.4", "babel-preset-es2015..."^2.9.7" 8. .babelrc配置 安装完成后,我们需要对我们babel进行一些相关配置,使其对es6、react等进行支持。

71021

05-React Antd UI库

其他使用步骤一样, 参考样例, 其实其他UI库使用方式都一样, 没有啥好记得, 用时候翻翻文档,就可以了 暴露配置 yarn eject E:\js\react_antd>yarn eject...pmmmwh/react-refresh-webpack-plugin to dependencies Adding @svgr/webpack to dependencies Adding babel-jest...E:\js\react_antd> 多了脚手架配置 按需导入Antd CSS样式 上面直接引入全部antd css样式, 但是有很多是用不到, 所以需要按需引入, 虽然可以直击改默认配置,但是不推荐...Antd使用craco按需加载样式与自定义主题 因为最新版本工具已经改成了craco, 所以基于craco去做 yarn add @craco/craco babel-plugin-import craco-less...此时不需要加引号 //也可以设置为css,css需要加引号 "style": true }

94630

精读《Rust JS 基建未来》

$": ["@swc/jest"], }, }; swc-loader swc-loader 针对 webpack loader 插件,代替 babel-loader: module: {...quickjs 也一样,这三个都是一种对 js 语言运行器,作为开发者,需求永远更好性能、兼容性与生态,三者几乎缺一不可,所以当下虽然不能完全代替 Nodejs,作为高性能替代方案很香,可以基于他们做一些跨端跨平台解析器...esbuild esbuild 较早被广泛使用新一代 JS 基建, JS 打包与压缩工具。虽然采用 Go 编写,性能与 Rust 不相上下,可以与 Rust 风潮放在一起看。...Rome Rome Babel 作者做基于 Nodejs 前端基建全家桶,包含但不限于 Babel, ESLint, webpack, Prettier, Jest。...毫无疑问,Rust 语言对 JS 基建支持已经较为完备了,剩下只是工具层逻辑覆盖率问题,都可以随时间而解决。

96840

单元测试

代码信心体现 测试可以确保得到预期结果 作为现有代码行为描述 促使开发者写可测试代码,可测试代码可读性会更高 如果依赖组件有修改,受影响组件能在测试中发现错误 测试内容 什么细节?...中 更新babel配置,支持单测编译环境,默认检测 babel.config.js 文件,如果存在babel配置文件,文件名需要保持一致(文件名规则对齐V6工程命名规则) 更新 eslint 配置,支持单测代码检查...文件,如果存在prettier配置文件,文件名需要保持一致(文件名规则对齐V6工程命名规则) 安装单测环境依赖包 配置jest.config.js @liepin/js-jest4r-fe 提供默认配置如下...@testing-library/jest-dom 一个用于增强 Jest 测试框架库,它提供了一组用于 DOM 断言定制化匹配器和工具函数。...jest 这些类型,所以会报以下错误: import axios from 'axios'; import Users from '.

19010

redux源码解读(二)测试环境搭建和代码测试

(一)中写了一个简易版redux,测试都是直接通工看命令行输出,显然这是不科学 所以就需要写测试了,所以。我选择了jest。 网上介绍如下…....配置简单测试环境按照官方文档 npm install --save-dev jest 把下面的内容添加到package.json { "scripts": { "test": "jest..." } } 添加babel支持,支持最新es语法 npm install babel-preset-env --save-dev //.babelrc { "presets": ["env..."] } 这时候,在终端运行npm run test ,jest就会自动去运行项目目录下每一个xxx.test.js和xxx.spec.js 结合前面的简易store写了几个简单test样例 const...如果错误会报错,例如把初值期待值写为-1 expect(store.getState()).toEqual({sum: -1}); 这样就会报错了,显示出来 ?

34210
领券