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

Jest:给你的 React 项目加上单元测试

大家好,我是前端西瓜哥。 Jest 是一款轻量的 JavaScript 测试框架,它的卖点是简单好用,由 facebook 出品。本文就简单讲讲如何使用 Jest 对 React 组件进行测试。...可以通过设置 Jest 配置文件的 testMatch 或 testRegex 选项进行修改,或者 package.json 下的 "jest" 属性。...但 Jest 本身并不支持 React 组件的测试 API,需要使用另外一个内置的 React Testing Library 库来测试 React 组件。...React Testing Library 是 以用户为角度 的测试库,能够模拟浏览器的 DOM,将 React 组件挂载上去后,我们使用其提供的一些模拟用户操作的 API 进行测试。...React Testing Library 的哲学是: 测试的写法越是接近应用被使用的方式,我们就越有自信将其交付给客户。

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

    调查:React 仍然是使用最广泛的前端框架,TypeScript 是优先选项

    尽管 TypeScript 可以编译成 JavaScript,但对于许多开发人员来说,TypeScript 仍是优先选项。...在本次调查中,React 仍然是使用最广泛的前端框架,使用率为 81.8%,领先于 Angular 的 48.8%。(在许多情况下,开发人员使用了多种技术,因此百分比总和超过 100%。)...今年 Angular 的使用率略低于去年。另外,Svelte 是开发人员最感兴趣的框架,其次是 Solid。才被调查的人中,77.3% 的人对前端现状表示满意。...Tauri 是一款用为 macOS、Linux 和 Windows 构建应用程序的工具,承诺提供移动选项。...尽管 Electron 和 React Native 的使用率要高得多——各占 35% 左右,而 Tauri 为 5.3%(高于去年的 1.8%)但 Tauri 更小、更快的特性也越来越受欢迎。

    90740

    调查:React 仍然是使用最广泛的前端框架,TypeScript 是优先选项

    尽管 TypeScript 可以编译成 JavaScript,但对于许多开发人员来说,TypeScript 仍是优先选项。...在本次调查中,React 仍然是使用最广泛的前端框架,使用率为 81.8%,领先于 Angular 的 48.8%。(在许多情况下,开发人员使用了多种技术,因此百分比总和超过 100%。)...今年 Angular 的使用率略低于去年。 另外,Svelte 是开发人员最感兴趣的框架,其次是 Solid。才被调查的人中,77.3% 的人对前端现状表示满意。...Tauri 是一款用为 macOS、Linux 和 Windows 构建应用程序的工具,承诺提供移动选项。...本书的目标读者包括有实际React项目经验并希望更深入理解React的开发人员,以及没有使用过React但对前端框架设计感兴趣的开发人员。

    88220

    用Jest来给React完成一次妙不可言的~单元测试

    技术栈选择 当我们想要为 React 应用编写单元测试的时候,官方推荐是使用 React Testing Library[1] + Jest[2] 的方式。...下面让我们看一个简单的计数器的例子,以及两个相应的测试:第一个是使用 Enzyme[4] 编写的,第二个是使用 React Testing Library[5] 编写的。...: Omit ): RenderResult ui 是你要加载的组件。options 通常不需要指定选项。...结语 React Testing Library 是用于测试 React 应用的一大利器。它为我们提供了访问 jest-dom 匹配器的机会,以及最佳实践,使得我们可以使用它来更有效地测试我们的组件。...Jest: https://www.freecodecamp.org/news/8-simple-steps-to-start-testing-react-apps-using-react-testing-library-and-jest

    15K33

    单元测试

    /react 是一个用于测试 React 组件的 JavaScript 测试工具库,它提供了一组简单且易于使用的 API,可以帮助你编写可读性高、可维护性强的测试代码。...@testing-library/jest-dom 是一个用于增强 Jest 测试框架的库,它提供了一组用于 DOM 断言的定制化匹配器和工具函数。...@testing-library/user-event 是一个用于模拟用户事件的 JavaScript 库。...@testing-library/react-hooks 是一个用于测试 React Hooks 的工具库。它提供了一组用于编写可靠和可维护的测试的实用函数和工具。...act } from '@testing-library/react'; act 是一个用于处理 React 组件的异步更新和副作用的工具函数,它的主要作用是确保在测试中正确地触发和等待组件更新。

    31210

    如何测试驱动开发 React 组件?

    什么是 TDD TDD(Test-driven development),就是测试驱动开发,是敏捷开发中的一项核心实践和技术,也是一种软件设计方法论。...测试组件 首先使用 create-react-app 初始化一个 react 项目。目前 cra 已经内置了 @testing-library/react 作为测试框架。...import React from 'react' import { render } from '@testing-library/react' describe('Confirmation component...,因为我们知道这个组件中至少还有一个按钮,需要更具体地说明查找断言的是哪个按钮 组件代码: import React from 'react' const Confirmation = ({ title...小结 当然 @testing-library/react 还有很多方便的 api。大家可以自行查阅。 image.png 未来可能会出一些文章关于测试的文章。

    2.2K10

    如何测试驱动开发 React 组件?

    什么是TDD TDD(Test-driven development),就是测试驱动开发,是敏捷开发中的一项核心实践和技术,也是一种软件设计方法论。...测试组件 首先使用 create-react-app 初始化一个 react 项目。目前 cra 已经内置了 @testing-library/react 作为测试框架。...import React from 'react'; import { render } from '@testing-library/react'; describe('Confirmation component...,因为我们知道这个组件中至少还有一个按钮,需要更具体地说明查找断言的是哪个按钮 组件代码: import React from 'react'; const Confirmation = ({title...小结 当然 @testing-library/react 还有很多方便的 api。大家可以自行查阅。 未来可能会出一些文章关于测试的文章。例如: 如何出测试 react hooks ?

    2.1K10

    React背后的工具化体系

    根本原因是module.exports是对象级导出,而export支持更细粒度的原子级导出。...原因见上面提到的bundle形式变化) 丢弃了过于复杂(overly-complicated)的自定义构建工具,改用更合适的Rollup: It solves one problem well: how...check的详细信息,请查看Detecting Misconfigured Dead Code Elimination 四.测试工具 Jest Jest是Facebook推出的测试工具,亮点如下: Snapshot...Testing:通过DOM树快照来对React/React Native组件做UI测试,把组件渲染结果与之前的快照做对比,没有差异就算通过 零配置:不像Mocha强大灵活但配置繁琐,Jest开箱即用,...,存在差异则说明有问题 另外,提到React App测试,还有一个更狠的:Enzyme,可以采用Jest + Enzyme对React组件进行深度测试,更多信息请查看Unit Testing React

    1.5K20

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

    一、技术选型: Jest + Enzyme + react-hooks-testing-library 1.1 jest Jest是FaceBook出品的前端测试框架,适合用于React和React...1.2 Enzyme Enzyme是AirBnb开源的React测试工具库,通过一套简洁的api,可以渲染一个或多个组件,查找元素,模拟元素交互(如点击,触摸),通过和Jest相互配合可以提供完整的...二、环境配置 直接贴上所需要安装的依赖: "devDependencies": { "@testing-library/react-hooks": "^3.2.1", //React...七、Jest 异步测试 Jest单元测试是同步的,因此面对异步操作如fetch获取数据,需要进行异步的模拟测试。...单元测试 在React Native v0.59版本以后,RN也支持了React Hooks的开发,由于Enzyme对于Hooks的测试支持不理想,我们专门引入了react-hooks-testing-library

    6.1K30

    React 应用架构实战 0x7:测试

    # 单元测试 单元测试是在应用程序单元在不依赖于其他部分的情况下进行独立测试。 对于单元测试,我们将使用 Jest,它是 JavaScript 应用程序最流行的测试框架。...集成测试更有价值,因为它们可以更有全面地测试应用程序,我们会测试不同部分的功能、它们之间的关系以及它们的通信方式。 对于集成测试,我们将使用 Jest 和 React Testing Library。...我们还应该从这里重新导出 React Testing Library 提供的所有实用工具,以便我们在测试中需要它们时可以轻松地使用它们。...目前,除了 React Testing Library 提供的所有函数之外,我们还导出了以下实用工具: appRender 是一个函数,它调用 React Testing Library 中的 render.../react"; export { userEvent }; 另一个值得一提的文件是 src/testing/setup-tests.ts,我们可以在其中配置不同的初始化和清理操作。

    1.6K80
    领券