首页
学习
活动
专区
工具
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.4K30

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

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

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

    如何发布一个 TypeScript 编写的 npm 包

    前言在这篇文章中,我们将使用TypeScript和Jest从头开始构建和发布一个NPM包。我们将初始化一个项目,设置TypeScript,用Jest编写测试,并将其发布到NPM。...npm i -D jest @types/jest ts-jestts-jest包是Jest理解TypeScript所需要的。另一个选择是使用babel,这将需要更多的配置和额外的模块。...嵌套结构可以是对象和数组,也可以是Map和Set。使用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。...快照测试的基本理念:先保存一份副本文件,下次测试时把当前输出和上次副本文件对比就知道此次改动是否破坏了某些东西。...如果测试用例依赖于某些外部资源(例如网络请求),请确保在测试之前和之后进行适当的管理和清理,以确保资源的正确使用和释放。

    31210

    如何发布一个 TypeScript 编写的 npm 包

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

    2K20

    基于Typescript和Jest刷题环境搭建与使用

    写在前面 前几个月在公司用vue3 https://v3.vuejs.org/和ts写项目,想巩固一下基础,于是我想起了去年基于JavaScript和Jest搭建的刷题环境https://zhengjiangtao.cn.../coding,不如,给它搞个加强版,结合Typescript和Jest 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.7K10

    使用 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":

    87990

    PyCharm for Anaconda

    PyCharm for Anaconda 新版本的特点 智能Python帮助 PyCharm提供了智能代码完成、代码检查、动态错误突出显示和快速修复,以及自动化的代码重构和丰富的导航功能。...Web开发框架 PyCharm为现代web开发框架(如Django、Flask、Google应用程序引擎、Pyramid和web2py)提供了强大的特定于框架的支持。...使用远程解释器、集成的ssh终端、Docker和Vagrant集成,在远程主机或虚拟机上运行、调试、测试和部署应用程序。...内置开发工具 开箱即用的大量工具:集成的调试器和测试运行程序;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 我这里使用的则是Jest和ReactTestingLibrary 3.1 Jest && ReactTestingLibrary...3.1.1 初始化与安装 项目中使用了ts,需要为Jest额外准备babel和typescript环境包 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.9K10

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

    :增加测试,包括单元测试、集成测试等 build:构建系统或外部依赖项的更改 ci:自动化流程配置或脚本修改 chore:非 src 和 test 的修改,发布版本等 revert:恢复先前的提交 Jest...安装jest,和类型声明@types/jest,它执行需要ts-node和ts-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.json的include中,当我们添加到include之后,...输出的dist中就会包含测试相关的文件,这并不是我们想要的效果。

    72340
    领券