哪种酶适配器适用于 React 17?

新手上路,请多包涵

我有一个 React 应用程序,我想开始用 Enzyme 编写单元测试。 Enzyme 的 文档 讨论了最多 16 个版本的 React。

src/setupTests.js 我目前有

import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';

Enzyme.configure({ adapter: new Adapter() });

但我的应用使用 React 17.0.1 版。 React 17 有什么酶适配器?

原文由 Super Jade 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.2k
2 个回答

React 17 有什么酶适配器?

如果你有 React 版本 17 ,你可以使用这个 非官方的 React 17 适配器用于酶

 // src/setupTests.js
import { configure } from 'enzyme';
import Adapter from '@wojtekmaj/enzyme-adapter-react-17';

configure({ adapter: new Adapter() });

有关非官方适配器的更多信息,请参阅此 GitHub 问题

原文由 Super Jade 发布,翻译遵循 CC BY-SA 4.0 许可协议

我尝试使用非官方适配器“@wojtekmaj/enzyme-adapter-react-17”,它工作正常。 谢谢@super Jade。

  1. 清除 npm 缓存(清除这可能会使 npm 变慢,但请尝试一下)。
  • npm cache verify 然后 npm cache clean --force
  1. 删除你的
  • node_modulespackage-lock.json
  1. 使用 --- 更新 package.json 中的 npm 依赖 "@testing-library/react": "^11.2.5","@wojtekmaj/enzyme-adapter-react-17": "^0.4.1","react": "^17.0.1","react-dom": "^17.0.1",
  2. npm i --legacy-peer-deps
  3. 正如 @wojtekmaj/enzyme-adapter-react-17 提到的在测试文件中进行更改。
  • '@wojtekmaj/enzyme-adapter-react-17';
  • 配置 ({ adapter: new Adapter() });

原文由 Cyril Prince 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进