reactjs - Ant 设计和 React 测试库
问题描述
我最近开始使用 Ant Deisgn 并且非常喜欢使用它。
但是,我似乎偶然发现了一个我很难解决的问题。
使用 react-testing-library 进行测试,我在测试一些 Ant Design 组件时遇到了麻烦。
原因之一是由于某些未知原因,某些组件(例如 Menu、Menu.Item、Dropdown 等)不呈现自定义属性data-testid
,因此无法定位 DOM 的特定元素。
这会降低测试的性能和准确性。
其他人是否偶然发现了同样的问题?你是怎么解决这个问题的?
Ant Design 团队有什么可以解决这个问题的吗?
解决方案
该data-testid
属性可配置为您想要的任何属性。
https://testing-library.com/docs/dom-testing-library/api-configuration
此外,只要您选择的库具有 ID 属性,您可以执行以下操作:
const {container} = render(<Foo />) ;
const button = container.querySelector('#idValue'); // returns react element
fireEvent.click(button);
P.S:移动编辑。请忽略格式
推荐阅读
- amazon-web-services - AWS Step Functions 中的地图状态如何定价?
- r - 如何使用 ggplot 从分箱数据中绘制归一化差异的折线图?
- vim - VIM:在同一个重映射的两个执行之间切换
- android - 为什么黑色无阴影“使用 Google Pay 购买”按钮变体与白色变体不匹配?
- asp.net-core - 如何使用 Database.GetDbConnection() 将 SQL Server 存储过程的结果存储到视图模型中
- java - classDefinationNotFound : HttpServlet
- mysql - 将 get_adjacent_post 的 OR 逻辑改为 AND
- javascript - 反应显示不可见的未定义错误
- python - 此模型注册第一个项目并保留其余项目
- function - 在第二次迭代调用中到底发生了什么?