即使 screen.debug() 显示文本存在,React 测试库也无法找到文本

nur*_*abe 5 reactjs jestjs react-testing-library

简而言之,如果我通过它的标签抓取屏幕的一部分:

const foo = screen.getByLabelText('Some Label');
Run Code Online (Sandbox Code Playgroud)

我可以看到我感兴趣的元素存在于输出中:

debug(foo);
...
<div
  class=" css-15zcpdi-NoOptionsMessage"
>
   Something went wrong
</div>
Run Code Online (Sandbox Code Playgroud)

但是,如果我在屏幕中搜索“出现问题”:

screen.getByText('Something went wrong');
Run Code Online (Sandbox Code Playgroud)

RTL声称它找不到它:

TestingLibraryElementError: Unable to find an element with the text: Something went wrong. ...
Run Code Online (Sandbox Code Playgroud)

我一定在这里做错了什么..什么?

小智 10

使用精确的字符串值似乎不太一致。尝试使用正则表达式:

screen.getByText(/Something went wrong/);
Run Code Online (Sandbox Code Playgroud)