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

如何测试 React 路由 ?

前言 本文承接上文 如何测试 React 异步组件?,这次我将继续使用 @testing-library/react测试我们的 React 应用,并简要简要说明如何测试路由系统。...from "react"; function AboutContent() { throw new Error("抛出一个测试错误"); } export default function About...测试方法 我们知道 @testing-library/react 是运行在 node 环境中的,但浏览器中并没有 HashRouter 或者 BrowserRouter ,所以我们需要一个用到 MemoryRouter...: 将程序和使用什么路由分开; 使用 MemoryRouter 来测试; 通过 userEvent.click 点击确保页面可以正确渲染; 提供一个公共包裹组件,通过遍历来测试每个页面,确保渲染 以上就是本文的全部内容...,那么如何测试 react hooks ?

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

React 组件测试技巧

React 组件的常见测试模式。 注意: 此页面假设你正在使用 Jest 作为测试运行器。如果你使用不同的测试运行器,你可能需要调整 API,但整体的解决方案是相同的。...为了避免一些样板代码,你可以使用 React 测试,它的助手是用 act() 封装的。 注意: act 名称来自 Arrange-Act-Assert 模式。...然后运行我们的测试: // contact.test.js import React from "react"; import { render, unmountComponentAtNode } from..."Turn off" : "Turn on"} ); } 我们可以为它编写测试: // toggle.test.js import React from "react"...注意: React 测试为触发事件提供了一个更简洁的助手。 --- 计时器 {#timers} 你的代码可能会使用基于计时器的函数(如 setTimeout)来安排将来更多的工作。

4.9K00

如何测试 React 路由 ?

前言 本文承接上文 如何测试 React 异步组件?,这次我将继续使用 @testing-library/react测试我们的 React 应用,并简要简要说明如何测试路由系统。...from 'react' function AboutContent() { throw new Error('抛出一个测试错误') } export default function About...测试方法 我们知道 @testing-library/react 是运行在 node 环境中的,但浏览器中并没有 HashRouter 或者 BrowserRouter ,所以我们需要一个用到 MemoryRouter...: 将程序和使用什么路由分开; 使用 MemoryRouter 来测试; 通过 userEvent.click 点击确保页面可以正确渲染; 提供一个公共包裹组件,通过遍历来测试每个页面,确保渲染 以上就是本文的全部内容...,那么如何测试 react hooks ?

2.1K20

React Hook测试指南

另外教大家一个实用的技巧:如果我们发现某个的文档不是很全面的话,可以通过查看这个的单元测试来快速掌握这个的用法。...由此可见要使我们的测试用例具备可重复性的一个关键点是在编写单元测试的时候避免外部依赖,这些外部依赖包括数据,网络请求和本地文件系统等。...在讲如何对Hook进行测试之前我们先来了解一下我们要用到的测试框架Jest(https://jestjs.io/)和hook测试react-hook-testing-library(https://github.com...),是一个专门用来测试React hook的。...为了简化开发者测试hook的流程,React社区有人开发了这个叫做react-hooks-testing-library的来允许我们像测试普通函数一样测试我们定义的hook,这个其实背后也是将我们定义的

1.7K10

React Native开发之react-navigation详解

在0.44版本之前,开发者可以直接使用官方提供的Navigator组件来实现页面的跳转,不过从0.44版本开始,Navigator被官方从react native的核心组件中剥离出来,放到react-native-deprecated-custom-components...不过,官方并不建议开发者这么做,而是建议开发者直接使用导航react-navigation。...react-navigation是React Native社区非常著名的页面导航,可以用来实现各种页面的跳转操作。...和其他的第三方插件一样,使用之前需要先在项目汇中添加react-navigation依赖,安装的命令如下: yarn add react-navigation //或者 npm install react-navigation..."react-navigation": "^3.8.1" 由于react-navigation依赖于react-native-gesture-handler,所以还需要安装react-native-gesture-handler

5.8K10

【译】使用Enzyme和React Testing Library测试React Hooks

确保代码没有bug的一种方法就是编写测试用例。测试React hooks与测试一般程序的方式没有太大区别。 在本教程中,我们将了解如何通过使用带有hooks的to-do应用程序来实现这一点。...我们将介绍使用Enzyme和React Testing Library编写测试,这两个都能做到这一点。...如果你第一次使用Enzyme,我们之前发布过关于它的文章,《Enzyme如何在React应用中与Jest一起使用》。我们可以用他们来深入测试React Hooks。...这里有我们想要测试的 一个标准的待办事项组件是这样的: import React, { useState, useRef } from "react"; const Todo = () => { const...使用react-testing-library测试 我们将为此写三个测试: 1、初始待办事项的渲染 2、我们可以加一个新的待办事项 3、我们可以删除一个待办事项 首先,我们安装需要的安装包: npm install

4K30

React 现代化测试

(代表: eslint、flow、TypeScript) 单元测试: 在奖杯模型中, 单元测试的职责是对一些边界情况或者特定的算法进行测试。...(代表: jest、mocha) 集成测试: 模拟用户的行为进行测试, 对网络请求、获取数据的数据等依赖第三方环境的行为进行 mock。...(代表: jest、react-testing-library) e2e 测试: 模拟用户在真实环境上操作行为(包括网络请求、获取数据数据等)的测试。...(代表: cypress) 越是上层的测试给开发者带来的自信是越大的, 与此同时, 越是下层的测试测试的效率是越高的。奖杯模型综合考虑了这两点因素, 可以看到其在集成测试中的占比是最高的。...相较于 enzyme, react-testing-library 所提供的 api 更加贴近用户的使用行为, 使用其对上述测试用例进行重构: import { render, fireEvent }

92130

React Native单元测试

概述 所谓单元测试,就是对每个单元进行的测试,一般针对的是函数、类或单个组件,不涉及系统和集成,单元测试是软件测试的基础测试,一个完备的软件系统都会涉及到单元测试。...目前,Javascript的测试工具很多,但是针对React测试主要使用的是Facebook推出的Jest框架,Jest是基于Jasmine的JavaScript测试框架,具有上手容易、快速、可靠的特点...,是React.js默认的单元测试框架。...React 树进行快照或别的序列化数值快速编写测试,提供快速更新的用户体验; 支持异步代码测试:支持promises和async/await; 自动生成静态分析结果:不仅显示测试用例执行结果,也显示语句...npm install --save-dev jest //或者 yarn add --dev jest 如果你使用的是react-native init命令行方式来创建的RN项目,且RN版本在0.38

86220

2021React UI

ReactJS是当今最流行的前端开发之一,它让我们的开发变得轻松高效,它可以轻松地和打包工具整合,同时它的第三方扩展也非常的丰富,今天我们来介绍下react组件ui。...这些UI框架通过分离重组构成React的各个组件,在React中我们只需要引入它们就可以轻松地在代码中使用它们。...MaterialUI 材料设计是谷歌提出的一种UI设计指南,MaterialUI实现了材料设计,并且融入了React组件中。...该使您能够模拟页面转换、动画、涟漪效果、弹出模型——基本上,您可以在原生 Android 和 iOS 设备中找到任何效果。...它支持浏览器、服务器端渲染和Electron环境,有很多组件,甚至还有 Create-react-app 教程.

1.2K20

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

本文将以创建一个 Confirmation 组件来说明,如何在 React 中如何实现测试驱动开发。...测试组件 首先使用 create-react-app 初始化一个 react 项目。目前 cra 已经内置了 @testing-library/react 作为测试框架。...npx create-react-app my-react-app 我们先从测试文件开始。先创建了组件的目录“Confirmation” 并在其中添加一个“index.test.js”文件。...小结 当然 @testing-library/react 还有很多方便的 api。大家可以自行查阅。 未来可能会出一些文章关于测试的文章。例如: 如何出测试 react hooks ?...如何测试react 路由? 如何测试接口? 希望这篇文章对大家有所帮助,也可以参考我往期的文章或者在评论区交流你的想法和心得,欢迎一起探索前端。

2.1K10

React 进阶 - React Router

# 路由原理 # History, React-Router, React-Router-DOM History ,React-Router , React-Router-Dom 三者的关系: History...整个 React-Router 的核心,里面包括两种路由模式下改变路由的方法,和监听路由变化方法等 React-Router 有了 History 路由监听 / 改变的核心,那么需要调度组件负责派发这些路由的更新...,也需要容器组件通过路由更新,来渲染视图 在 History 核心基础上,增加了 Router ,Switch ,Route 等组件来处理视图渲染 React-Router-DOM 在 React-Router...事件只会在浏览器某些行为下触发, 比如点击后退、前进按钮或者调用 history.back()、history.forward()、history.go() 方法 原理 BrowserHistory 模式下的 history 就是基于上面改变路由...中提供的 renderRoutes ,更优雅的渲染 Route const RouteList = [ { name: "Home", path: "/router/home",

1.8K21
领券