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

Jest 单元测试快速上手指南

, 容易上手且功能十分强大测试框架 安装 yarn add -D jest 使用 创建 test 目录, 添加 plus.spec.js 文件 describe('example', () => {...你可以完善测试用例, 或者可能有些文件(譬如 config)代码分支并不需要测试, 可以将其在测试覆盖率结果中排除, 参考如下配置 忽略目录下所有文件jest.config.js 中添加 collectCoverageFrom...开头表示忽略与其匹配文件 忽略单个文件 在该文件顶部添加 /* istanbul ignore file */ 忽略一个函数, 一块分支逻辑或者一行代码 在该函数, 分支逻辑或者代码行上一行添加..., 结果之前一致 执行单测时不校验 ts 类型 有时你可能会希望不校验 ts 类型, 仅执行代码测试, 比如需要在 CI 中将类型校验单元测试分为两个任务 在 jest.config.js 中添加如下内容...fireEvent.click($button); expect(handleClick).toHaveBeenCalled(); // 期望其被调用 }); }); 测试包含定时器逻辑

3.3K30

干货 | 携程租车React Native单元测试实践

一、技术选型: Jest + Enzyme + react-hooks-testing-library 1.1 jest Jest是FaceBook出品前端测试框架,适合用于ReactReact...有以下几个特点: 简单易用:易配置,自带断言库mock库。 快照测试:能够创造一个当前组件渲染快照,通过上次保存快照进行比较,如果两者不匹配说明测试失败。...1.2 Enzyme Enzyme是AirBnb开源React测试工具库,通过一套简洁api,可以渲染一个或多个组件,查找元素,模拟元素交互(如点击,触摸),通过Jest相互配合可以提供完整...快照将在测试文件的当前文件路径自动生成snapshots文件夹中保存。当主动修改造成ui变化时,使用jest -u来更新快照。...airtest自动化测试等其他测试手段保证代码质量。

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

如何发布一个 TypeScript 编写 npm 包

前言在这篇文章中,我们将使用TypeScriptJest从头开始构建和发布一个NPM包。我们将初始化一个项目,设置TypeScript,用Jest编写测试,并将其发布到NPM。...npm i -D jest @types/jest ts-jestts-jest包是Jest理解TypeScript所需要。另一个选择是使用babel,这将需要更多配置额外模块。...嵌套结构可以是对象和数组,也可以是MapSet。使用npm t运行测试,当然,不出意外会失败。...我不觉得要发布任何配置文件,也不觉得要发布源文件测试文件。我们可以做一件事是使用.npmignore,列出所有我们不想发布文件。...我更希望有一个"白名单",所以让我们使用package.json中files字段来指定我们想要包含文件。{ // ...

1.4K20

单元测试

@testing-library/jest-dom 是一个用于增强 Jest 测试框架库,它提供了一组用于 DOM 断言定制化匹配器工具函数。...@testing-library/react-hooks 是一个用于测试 React Hooks 工具库。它提供了一组用于编写可靠可维护测试实用函数工具。...对于包含多个组件文件,可以使用文件名作为文件名,并在文件名后面添加 .spec.tsx 后缀。例如,如果文件名是 Form.tsx,则文件名可以是 Form.spec.tsx。...快照测试基本理念:先保存一份副本文件,下次测试时把当前输出上次副本文件对比就知道此次改动是否破坏了某些东西。...如果测试用例依赖于某些外部资源(例如网络请求),请确保在测试之前之后进行适当管理清理,以确保资源正确使用释放。

18610

如何发布一个 TypeScript 编写 npm 包

前言 在这篇文章中,我们将使用TypeScriptJest从头开始构建和发布一个NPM包。 我们将初始化一个项目,设置TypeScript,用Jest编写测试,并将其发布到NPM。...npm i -D jest @types/jest ts-jest ts-jest包是Jest理解TypeScript所需要。另一个选择是使用babel,这将需要更多配置额外模块。...嵌套结构可以是对象和数组,也可以是MapSet。 使用npm t运行测试,当然,不出意外会失败。...我不觉得要发布任何配置文件,也不觉得要发布源文件测试文件。 我们可以做一件事是使用.npmignore,列出所有我们不想发布文件。...我更希望有一个"白名单",所以让我们使用package.json中files字段来指定我们想要包含文件。 { // ...

1.8K20

基于TypescriptJest刷题环境搭建与使用

写在前面 前几个月在公司用vue3 https://v3.vuejs.org/ts写项目,想巩固一下基础,于是我想起了去年基于JavaScriptJest搭建刷题环境https://zhengjiangtao.cn.../coding,不如,给它搞个加强版,结合TypescriptJest https://jestjs.io/搞一个刷题环境https://zhengjiangtao.cn/coding-ts/,下面是我一些使用心得...Jest是一个测试框架,具体可以看我早年写文章https://www.cnblogs.com/cnroadbridge/p/13524099.html, Babel是一个语言编译器,具体也可以看我早年写文章...这里以两数之和为例,做一个简单代码测试,具体的如下: 源码 // code/sum.ts 两数之和测试案例 type sumType = (a: number, b: number) => number...; let res: number = sum(x, y); expect(res).toBe(expected); }); 在项目文件下执行yarn test 我们查看下运行效果 PS

1.2K40

Sentry 开发者贡献指南 - 前端(ReactJS生态)

测试 选择器 测试中未定义 theme 属性 Babel 语法插件 新语法 可选链 语法 空值合并 语法 Lodash Typescript 迁移指南 Storybook Styleguide 我们使用它吗...入口点组件应该是 index 文件。 不要使用 index.(j|t)?(sx) 文件,如果文件包含在应用程序其他部分使用组件,与入口点文件无关。...组件与视图 app/components/ app/views 文件夹都包含 React 组件。 使用通常不会在代码库其他部分重用 UI 视图。 使用设计为高度可重用 UI 组件。...注意:你文件名必须是 .spec.jsx 否则 jest 不会运行它! 我们在 setup.js 中定义了有用 fixtures,使用这些!如果您以重复方式定义模拟数据,则可能值得添加此文件。...使用 React Testing Library 我们正在将我们测试从 Enzyme 转换为 React Testing Library。在本指南中,您将找到遵循最佳实践避免常见陷阱技巧。

6.9K30

【自动化测试】【Jest-Selenium】(01)—— Jest 入门

有助于保证代码质量; 有助于改良项目代码整体结构; 有助于降低测试、维护升级成本; 有助于使开发过程适应频繁变化需求; 有助于提升程序员能力; 2. 测试分类?...按照软件工程自底而上概念,前端测试一般分为单元测试(Unit Testing )、集成测试(Integration Testing)端到端测试(E2E Testing)。 3....Test Runner:测试执行过程管理工具 karma-runner / karma avajs / ava Assertion Library:断言库 chaijs / chai shouldjs...react-dom/test-utils(ReactTestUtils) enzymejs / enzyme testing-library / react-testing-library Simple...Jest 入门 4.1. Jest 是什么? Jest 是 Facebook 开源一款 JS 单元测试框架。 4.2.

1.8K20

React Native自动化测试

有一些功能我们还没有完成模拟(jest中需要模拟一些接口),因而没有纳入测试,以避免测试不通过提高测试速度,但我们正在尽最大努力去逐渐补完这些功能模拟。...你可以在react-native源代码根目录中使用如下命令来运行现有的jest测试代码: npm test 我们建议你在贡献代码时候也添加自己测试代码。...注意:要运行你自己测试代码,请首先去jest官网阅读指导文档,然后在package.json中加入jest对象,在其中包含一些预备测试环境脚本。下面是一个示例: ......"test": "jest" }, ......注意:你可能需要先在当前环境中安装、更新或是链接Node.js其他一些工具,不然测试可能无法正常运行。点这里查看最新测试配置文件.travis.yml。

3K60

从零打造组件库

/Alert'; ​components/style​​ 包含组件库基础 ​less​ 文件包含 ​core、​color​ 等通用样式及变量设置。...Dodds 安装 yarn add jest babel-jest @babel/preset-env @babel/preset-react react-test-renderer @testing-library...​snapshot​ 快照测试方式,所谓快照,就是在当前执行测试用例时候,生成一份测试结果快照,保存在 ​__snapshots__/index.test.tsx.snap​ 文件中。...下次再执行测试用例时候,如果我们修改了组件源码,那么会将本次结果快照上次快照进行比对,如果不匹配,则测试不通过,需要我们修改测试用例更新快照。...完整测试,并且对比了 ​Enzyme​ @testing-library/react​ 区别,是很好入门文章 React 单元测试策略及落地:系统讲述了单元测试意义及落地方案 组件库打包

1.6K10

使用 TypeScript 编写 React.js 应用 | 笔记

Testing: 第一个组件测试 安装 React Testing Library yarn test npm npm test npm run test image-20230625010920976...创建您第一个组件测试 创建文件 src\home\HomePage.test.tsx 添加测试以验证组件浅层渲染而不会崩溃 src\home\HomePage.test.tsx import React...Testing: 快照测试 安装 React 测试渲染器 yarn add --dev react-test-renderer yarn add --dev @types/react-test-renderer...Testing: 更多组件测试 测试设置 创建目录 src\projects\__tests__ 创建文件 src\projects\__tests__\ProjectCard-test.tsx 添加下面的设置代码以测试组件.../jest-dom yarn add -D @testing-library/jest-dom@^4.2.4 经过测试, 上方没有解决, 只能暂时关闭提示/注释 默认为 "dependencies":

76990

PyCharm for Anaconda

PyCharm for Anaconda 新版本特点 智能Python帮助 PyCharm提供了智能代码完成、代码检查、动态错误突出显示快速修复,以及自动化代码重构和丰富导航功能。...Web开发框架 PyCharm为现代web开发框架(如Django、Flask、Google应用程序引擎、Pyramidweb2py)提供了强大特定于框架支持。...使用远程解释器、集成ssh终端、DockerVagrant集成,在远程主机或虚拟机上运行、调试、测试部署应用程序。...内置开发工具 开箱即用大量工具:集成调试器测试运行程序;Python分析器;内置终端;以及与主要VCS内置数据库工具集成。...3.运行使用环境 图1 环境运行成功 图1 环境运行成功 3.1 修改一下App.tsx文件 目录为 图2 目录结构 4.运行测试 yarn run v1.21.1 PASS

1.3K30

React 设计模式 0x8:测试

初始化测试项目: npx create-react-app testing-with-jest cd testing-with-jest npm install --save-dev jest 测试文件一般以...在 src 目录下创建一个名为 sum.test.js 文件,然后将以下内容添加到该文件中: function sum(a, b) { return a + b; } test("adds 1...# 使用 Jest 进行集成测试 在大多数 React 应用程序中,通常需要与外部 API 集成以在应用程序中发布获取数据。 可以使用 Jest测试 API 行为,以查看预期意外结果。...# React 测试最佳实践 对每个组件编写测试 为每个组件编写测试,以确保它们能够正确地渲染响应 使用测试库 使用 Jest React Testing Library测试库,它们提供了专门用于测试...React 组件工具函数 编写测试用例 编写完整测试用例,覆盖组件所有代码路径,包括正常情况异常情况 使用快照测试 使用 Jest快照测试功能来验证组件是否按预期呈现 使用模拟数据

1.8K10

2022年3月最新Eslint + Prettier + Husky + Stylelint + Jest + CICD 超详细前端单元测试&规范工程化工作流

run build && npm test" 3 单元测试「可选」 单元测试中最出名的当属Jest 我这里使用则是JestReactTestingLibrary 3.1 Jest && ReactTestingLibrary...3.1.1 初始化与安装 项目中使用了ts,需要为Jest额外准备babeltypescript环境包 pnpm i jest -D pnpm i -D babel-jest @babel/core.../react-test-renderer identity-obj-proxy pnpm i ts-jest @types/jest -D 接着生成基本配置文件进行初始化 npx ts-jest config...测试用例 with 「ReactTestingLibrary」 安装依赖包 pnpm i -D @testing-library/jest-dom @testing-library/react 在jest.setup.js...写入全局配置 import '@testing-library/jest-dom'; 写第一个测试用例: // home.test.tsx import Home from "..

1.8K10

【总结】超全面的前端工程化配置指南!

:增加测试,包括单元测试、集成测试等 build:构建系统或外部依赖项更改 ci:自动化流程配置或脚本修改 chore:非 src test 修改,发布版本等 revert:恢复先前提交 Jest...安装jest类型声明@types/jest,它执行需要ts-nodets-jest 这里暂时固定了ts-node版本为 v9.1.1,新版ts-node@v10.0.0会导致jest报错,等待官方修复...": "jest" }, 创建测试文件夹__tests__测试文件__tests__/calc.spec.ts 修改index.ts const calc = (a: number, b:...": "jest" }, 这里如果我们直接执行npm run lint将会报错,提示__tests__文件夹没有包含在tsconfig.jsoninclude中,当我们添加到include之后,...输出dist中就会包含测试相关文件,这并不是我们想要效果。

39930
领券