getByText, queryByText, getAllByText, queryAllByText, findByText, findAllByText
API
getByText(
// If you're using `screen`, then skip the container argument:
container: HTMLElement,
text: TextMatch,
options?: {
selector?: string = '*',
exact?: boolean = true,
ignore?: string|boolean = 'script, style',
normalizer?: NormalizerFn,
}): HTMLElement
这将搜索所有具有文本节点并且textContent与给定的TextMatch匹配的元素。
<a href="/about">About ℹ️</a>
// HTML
import {screen} from '@testing-library/dom'
const aboutAnchorNode = screen.getByText(/about/i)
// React
import {render, screen} from '@testing-library/react'
render(<MyComponent />)
const aboutAnchorNode = screen.getByText(/about/i)
它也可以与类型为submit或button的输入一起使用:
<input type="submit" value="Send data" />
Options
TextMatch 有以下选项:
selector
有关如何使用和何时使用选择器选项的更多详细信息,请参阅 getByLabelText
ignore
忽略选项接受一个查询选择器。如果 node.matches 对该选择器返回 true,则该节点将被忽略。这默认为 'script, style',因为通常您不希望选择这些标签,但如果您的内容位于内联脚本文件中,则可能会返回 script 标签。
如果您想禁用此行为,请将 ignore 设置为 false。