reactjs - @fluentui v8 升级 Jest 更新 TypeError: react_hooks_1.useMergedRefs is not a function
问题描述
我正在努力将我们当前的代码库从office-fabric-ui-react
v7 升级到 v8 aka @fluentui/react
。在 fluentui 升级之前,所有测试都在工作。
代码库适用于更新。开玩笑的测试套件是失败的。我正在使用 lerna monoreop。
面板.test.tsx
import { PanelSize } from '@demo/utilities';
import { Panel } from '@fluentui/react';
import { configure, shallow } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
import React from 'react';
import renderer from 'react-test-renderer';
import { Update } from '../../../__testUtils__/TestUtils';
import { DemoPanel } from '../Panel';
import { IDemoPanelProps } from '../DemoPanel.types';
describe('Demo Panel Tests', function () {
test('test custom panel telemetry', async function () {
let tree: renderer.ReactTestRenderer;
renderer.act(() => {
tree = renderer.create(
<DemoPanel
titleText={'Custom'}
isOpen={true}
>
This is a default size panel.
</DemoPanel>
);
});
expect(tree!.toJSON()).toMatchSnapshot();
});
}
{
"name": "@demo/controls",
"version": "4.0.0",
"author": "Demo author",
"description": "Engineering.",
"license": "MIT",
"repository": {
"type": "git",
"url": ""
},
"main": "lib-commonjs/index.js",
"module": "lib/index.js",
"files": [
"lib*"
],
"just": {
"stack": "just-stack-single-lib"
},
"sideEffects": false,
"typings": "lib/index.d.ts",
"scripts": {
"build": "just-scripts build",
"clean": "just-scripts clean",
"just": "just-scripts",
"lint-fix": "yarn lint --fix",
"lint": "eslint . --ext .ts,.tsx",
"start-test": "just-scripts start-test",
"start": "just-scripts start",
"test-update": "just-scripts jest-update",
"test": "just-scripts test",
"update-snapshots": "just-scripts jest -u",
"upgrade-stack": "just-scripts upgrade-stack"
},
"dependencies": {
"@demo/panel": "1.2.0",
"@demo/telemetry": "2.2.0",
"@demo/utilities": "1.5.0",
"@demo/styles": "1.3.1",
"@fluentui/font-icons-mdl2": "^8.1.14",
"@fluentui/react-charting": "^5.3.61",
"@fluentui/react": "^8.37.6",
"@fluentui/scheme-utilities": "^8.2.4",
"@fluentui/style-utilities": "^8.3.4",
"@fluentui/theme": "^2.4.1",
"@fluentui/utilities": "^8.3.4",
"dayjs": "^1.10.7",
"react-export-excel": "^0.5.3",
"react-grid-layout": "^0.18.3",
"react-html-parser": "^2.0.2",
"react-innertext": "1.1.5",
"react-resize-detector": "^6.7.6",
"resize-observer-polyfill": "^1.5.1",
},
"peerDependencies": {
"@fluentui/react": "^8.37.6",
"dayjs": "^1.10.7",
"moment": "^2.29.1",
"moment-timezone": "^0.5.33",
"react": "^16.8.5",
"react-dom": "^16.8.5",
"tslib": "^2.3.1"
},
"devDependencies": {
"@babel/core": "^7.15.5",
"@babel/plugin-transform-modules-commonjs": "^7.15.4",
"@babel/preset-react": "^7.16.0",
"@fluentui/jest-serializer-merge-styles": "^8.0.11",
"@types/jest": "^26.0.24",
"@types/node": "^10.17.60",
"@types/react-dom": "^16.8.5",
"@types/react-grid-layout": "^1.1.2",
"@types/react-html-parser": "^2.0.2",
"@types/react-test-renderer": "16.8.0",
"@types/react": "^16.3.13",
"@typescript-eslint/eslint-plugin": "^4.5.0",
"@typescript-eslint/parser": "^4.32.0",
"babel-jest": "^26.6.3",
"dayjs": "^1.10.7",
"eslint-config-react": "^1.1.7",
"eslint-plugin-react": "^7.26.0",
"eslint": "^7.32.0",
"jest-cli": "^26.6.3",
"jest": "26.6.0",
"moment-timezone": "^0.5.33",
"moment": "^2.29.1",
"react-innertext": "1.1.5",
"react-test-renderer": "16.8.0",
"ts-jest": "^26.5.6",
"tslib": "^2.3.1",
"typescript": "^3.9.10"
}
}
解决方案
推荐阅读
- asp.net-mvc - AJAX 调用后我的部分视图不刷新
- c# - 我可以在 Unity 2018.4 中使用 MongoDB 3.6 或更高版本吗?
- java - 在运行时更改默认活动
- c - 在 C 中遍历 CSV 文件中的列
- c# - 在 Blazor 中,如何在动态模型中 @bind 然后触发 @onchange
- nginx - Nginx - 位置规范后的一切反向代理
- java - 如何修复 content.Equals 的错误输出?
- excel - 将 MAC 中的 excel 从 excel 连接到 Azure sql 数据库
- python - 返回特定字符对之间的部分字符串,在具有多个字符对的字符串中
- android - 在 Android 和 iOS 上实现 React Native 推送通知最可靠的方法是什么