Testing Library提供了解决该问题的解决方案,其中包括不使用任何直接节点访问,而是使用类似“getByText”、“queryByTitle”等方法来查找元素。这些方法针对各种测试场景,例如根据元素文本、元素标记名称、元素可访问性标签等进行元素定位。下面是一个示例:
import { render, screen } from '@testing-library/react';
test('renders learn react link', () => {
render( );
const linkElement = screen.getByText(/learn react/i);
expect(linkElement).toBeInTheDocument();
});
在这个示例中,我们使用“render”方法将React组件渲染到虚拟DOM中,并使用“getByText”方法查找包含“learn react”的文本的元素。注意,我们没有使用任何节点选择器或类似的东西,而是依赖于Testing Library提供的API。