【发布时间】:2020-03-17 11:08:08
【问题描述】:
我正在使用 Testing Library 为 React 应用程序编写一些测试。我想检查是否出现了一些文本,但我需要检查它是否出现在特定位置,因为我知道它已经出现在其他地方。
Testing Library documentation for queries 表示getByText 查询采用container 参数,我猜它可以让您在该容器中搜索。我尝试使用container 和text 参数按照文档中指定的顺序执行此操作:
const container = getByTestId('my-test-id');
expect(getByText(container, 'some text')).toBeTruthy();
我得到一个错误:matcher.test is not a function。
如果我把参数反过来:
const container = getByTestId('my-test-id');
expect(getByText('some text', container)).toBeTruthy();
我得到一个不同的错误:Found multiple elements with the text: some text
这意味着它没有在指定的容器内搜索。
我想我不明白getByText 的工作原理。我做错了什么?
【问题讨论】:
标签: javascript reactjs react-testing-library