简介
问题
想要编写可维护的测试代码,希望它们可以增加你对组件正常工作的信心。为了实现此目标 , 您希望你的测试避免包含实现细节,以便组件的重构(对实现的更改但不是功能的更改 )时不会破坏原有的测试,进而减慢团队的开发速度。
解决方案
DOM Testing Library
是一个轻量级的解决方案,用于测试 DOM 节点(由
JSDOM
/Jest模拟或真正的浏览器)。它提
供的查询 DOM 节点工具和真正用户在页面查找元素时相似的,从而提升你对 UI 代码的信
心。 DOM Testing Library
的第一指导原则是:
作为该目标的一部分,该库提供的工具函数有助于实现以用户的方式来查询 DOM。通过标签
文本来查找表单上的元素 (就像用户那样),通过文本找到对应链接和按钮 (就像用户那样)
等等。当文本内容和标签不适用的情况下,它推荐使用 data-testid
作为 “逃生舱” 来
查找元素。
该库鼓励你的应用应该易于访问(无障碍访问),并让你的测试更接近你的组件被用户使用 ,从而让你对组件在用户手中正常工作更加有信心。
Testing Library 不是什么:
- 测试执行器 或 框架
- 特定的测试框架 (尽管我们推荐 Jest 作为首选项, 但是该库适用于其它框架. 参考 不使用 Jest)