首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

create-react-app中的`screen.getByText()` vs ` `getByText()`

在create-react-app中,screen.getByText()getByText()都是用于在测试中查找特定文本内容的方法。

screen.getByText()@testing-library/react库中提供的方法,用于在渲染的组件中查找包含指定文本的元素。它返回第一个匹配到的元素,如果找不到匹配的元素,会抛出错误。

getByText()@testing-library/dom库中提供的方法,用于在DOM节点中查找包含指定文本的元素。它返回第一个匹配到的元素,如果找不到匹配的元素,会抛出错误。

这两个方法的使用方式和参数都相似,可以接受一个字符串作为参数,表示要查找的文本内容。它们会遍历组件或DOM节点的子节点,查找包含指定文本的元素。

这两个方法在React组件的测试中非常有用。通过使用它们,我们可以方便地查找并断言组件中是否包含了特定的文本内容,从而验证组件的正确性。

以下是一些使用示例:

代码语言:txt
复制
import { render, screen } from '@testing-library/react';
import MyComponent from './MyComponent';

test('MyComponent should render "Hello, World!"', () => {
  render(<MyComponent />);
  const element = screen.getByText('Hello, World!');
  expect(element).toBeInTheDocument();
});

test('MyComponent should not render "Goodbye"', () => {
  render(<MyComponent />);
  expect(() => {
    screen.getByText('Goodbye');
  }).toThrow();
});

在上面的示例中,我们使用screen.getByText()方法来查找MyComponent组件中是否包含了特定的文本内容。如果找到了匹配的元素,我们可以进行进一步的断言验证;如果找不到匹配的元素,我们可以使用toThrow()方法来验证是否抛出了错误。

推荐的腾讯云相关产品和产品介绍链接地址:

以上是对screen.getByText()getByText()的完善且全面的答案,涵盖了它们的概念、用法、推荐的腾讯云相关产品和产品介绍链接地址。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券