在 React 19 中,将删除 createFactory,需要迁移到 JSX // After const button = <button />; 移除react-test-renderer/shallow 在 React 18 中,更新了react-test-renderer/shallow并重新导出react-shallow-renderer。 /> 新的函数组件将不再需要forwardRef,在未来的版本中,React 将弃用并删除forwardRef 但是传递给类的 refs 不会作为 props 传递,因为refs引用的是组件实例 废弃react-test-renderer 弃用react-test-renderer。 react-test-renderer实现了自己的渲染器环境与用户使用的环境不匹配并依赖于 React 内部的实现细节 在 React 19 中,react-test-renderer会打印了一个弃用警告
"babel-jest": "18.0.0", "babel-preset-react-native": "1.9.1", "jest": "18.1.0", "react-test-renderer
3.0.5", "@types/react-dom": "^17.0.17", "@types/react-image-gallery": "^1.0.4", "@types/react-test-renderer ^11.1.2", "lodash-webpack-plugin": "^0.11.6", "mime": "^2.5.2", "qiniu": "^7.4.0", "react-test-renderer - "@types/react-test-renderer": "^17.0.1":这个库提供了用于类型定义的react-test-renderer库。 - "react-test-renderer": "^17.0.2":这个库是React的官方测试工具,用于创建和渲染React组件的快照。
安装依赖: npm install --save-dev react-test-renderer 通过简单小例子来演示: import renderer from "react-test-renderer
react-navigation-redux-helpers": "2.0.9", "react-navigation/NavigationTestUtils": "3.0.9", "react-redux": "6.0.0", "react-test-renderer
19.0.0", "babel-preset-react-native": "1.9.1", "flow-bin": "^0.44.2", "jest": "19.0.2", "react-test-renderer
/Link.react'; import renderer from 'react-test-renderer'; it('renders correctly', () => { const tree 从其需要的依赖来看, npm install --save-dev jest babel-jest babel-preset-es2015 babel-preset-react react-test-renderer
/Link.react'; import renderer from 'react-test-renderer'; it('renders correctly', () => { const tree 从其需要的依赖来看, npm install --save-dev jest babel-jest babel-preset-es2015 babel-preset-react react-test-renderer
Dodds 安装 yarn add jest babel-jest @babel/preset-env @babel/preset-react react-test-renderer @testing-library /react -D yarn add @types/jest @types/react-test-renderer -D package.json "scripts": { "test": "jest import React from 'react'; import renderer from 'react-test-renderer'; import Alert from '.. 'react'; import { fireEvent, render, screen } from '@testing-library/react'; import renderer from 'react-test-renderer
/Link.react"; import renderer from "react-test-renderer";// react-test-renderer则负责将组件输出成 JSON 对象以方便我们遍历 ); } } export default Button; 组件测试代码: import React from 'react'; //import TestRenderer from 'react-test-renderer
首先安装react-test-renderer库,该库支持将React组件渲染为纯JS对象: npm install -D react-test-renderer 举个简单的例子: const renderer = require("react-test-renderer"); test("测试React组件渲染", () => { let renderInstance = renderer.create( store.dispatch( // type: "xxx" //); let nodeJson = renderInstance.toJSON(); // ... }); 这是因为react-test-renderer
react-art react-native-renderer react-noop-renderer react-test-renderer 嗯对...带着很明显的渲染 相关词汇。
devDependencies": { "babel-jest": "20.0.3", "babel-preset-react-native": "1.9.2", "jest": "20.0.4", "react-test-renderer
Testing: 快照测试 安装 React 的测试渲染器 yarn add --dev react-test-renderer yarn add --dev @types/react-test-renderer npm npm i react-test-renderer --save-dev npm i @types/react-test-renderer --save-dev 创建您的第一个快照测试 为组件添加快照测试 /HomePage'; + import renderer from 'react-test-renderer'; + describe('<HomePage />', () => { test /ProjectCard"; import userEvent from "@testing-library/user-event"; import renderer from "react-test-renderer /ProjectCard'; import userEvent from '@testing-library/user-event'; + import renderer from 'react-test-renderer
例如,你可能正在使用 react-test-renderer 组件上运行快照测试,该组件内部使用子组件内部的 ReactDOM.render 渲染一些内容。 import { act as domAct } from "react-dom/test-utils"; import { act as testAct, create } from "react-test-renderer
可以通过 react-test-renderer,把 React 组件生成快照并暂存下来,在之后跑用例时如果组件结果发生了改变则报错提醒。 例如下面做个简单的例子: . /reactApp"; import renderer from 'react-test-renderer'; it("react render", () => { const component
{ $2 }) tit it('should $1', () => { $2 }) stest import React from 'react' import renderer from 'react-test-renderer expect(wrapper).toMatchSnapshot() }) }) srtest import React from 'react' import renderer from 'react-test-renderer toMatchSnapshot() }) }) sntest import 'react-native' import React from 'react' import renderer from 'react-test-renderer toMatchSnapshot() }) }) snrtest import 'react-native' import React from 'react' import renderer from 'react-test-renderer
-D babel-jest @babel/core @babel/preset-env @babel/preset-typescript pnpm i -D @babel/preset-react react-test-renderer @types/react-test-renderer identity-obj-proxy pnpm i ts-jest @types/jest -D 接着生成基本配置文件进行初始化 npx ts-jest
react-native-swiper": "^1.5.14", "react-navigation": "^3.11.1", "react-redux": "^7.1.0", "react-test-renderer
babel-jest": "20.0.3", "babel-preset-react-native": "1.9.2", "jest": "20.0.3", "react-test-renderer