跳至主要内容

简介

问题

您希望为您的 Web UI 编写可维护的测试。作为此目标的一部分,您希望您的测试避免包含组件的实现细节,而是专注于使您的测试为您提供其旨在提供的信心。作为其中的一部分,您希望您的测试基础在长期内保持可维护性,以便您组件的重构(更改实现但不改变功能)不会破坏您的测试并减缓您和您的团队的速度。

解决方案

DOM 测试库 是一个非常轻量级的解决方案,用于测试 DOM 节点(无论是使用 JSDOM 模拟,如 Jest 默认提供的,还是在浏览器中)。它提供的主要实用程序包括以类似于用户在页面上查找元素的方式查询 DOM 中的节点。通过这种方式,该库有助于确保您的测试使您对 UI 代码充满信心。DOM 测试库 的主要指导原则是

您的测试越接近软件的使用方式,它们就能给您带来越多的信心。

作为此目标的一部分,此库提供的实用程序促进以用户相同的方式查询 DOM。通过其标签文本查找表单元素(就像用户一样),通过其文本查找链接和按钮(就像用户一样),等等。它还公开了一种推荐的方式来通过 data-testid 查找元素,作为对那些文本内容和标签没有意义或不切实际的元素的“逃生舱”。

该库鼓励您的应用程序更易于访问,并允许您更接近于像用户一样使用您的组件进行测试,这使您的测试能为您提供更多信心,即您的应用程序在真实用户使用时将正常工作。

该库不是什么:

  1. 测试运行器或框架
  2. 特定于测试框架(尽管我们推荐 Jest 作为我们的首选,但该库适用于任何框架。请参阅 不使用 Jest 时