首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用react-testing-library和Jest按值查询textarea元素?

如何使用react-testing-library和Jest按值查询textarea元素?
EN

Stack Overflow用户
提问于 2021-02-15 16:53:23
回答 1查看 912关注 0票数 0

我正在开发一个文本编辑webapp,并使用react- jest library和jest进行测试。这个应用程序有一个动态的文本区域数量,为了测试行为,我想使用它的已知值来获得对一个文本区域的引用,但是,我无法使用RTL的查询来实现这一点。

我尝试了getByText('known cell content')getByDisplayValue('known cell content'),但两者都没有通过测试,并显示无法找到文本的消息。查询的文本显然出现在附带的DOM打印输出中:

代码语言:javascript
复制
TestingLibraryElementError: Unable to find an element with the text: som impliserer at . This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

 ...
              <textarea
                class="InputCellstyled__InputCellStyled-sc-1qia2ur-0 cntSTH"
              >
                 R'(t) = 240t^2 + 20t^3 - 10t^4 = -10t^2(t-6)(t+4) = 0
              </textarea>
              <textarea
                class="InputCellstyled__InputCellStyled-sc-1qia2ur-0 cntSTH"
              >
                som impliserer at <--- WHY IS THIS NOT FOUND?
              </textarea>
              <textarea
                class="InputCellstyled__InputCellStyled-sc-1qia2ur-0 cntSTH"
              >
                t = -4 \quad , \quad t = 6 \quad \text{ eller } \quad t=0.
              </textarea>

我目前的解决方法是下面这段冗长的代码:

代码语言:javascript
复制
Array.from(document.querySelectorAll('textarea')).filter(
      (taEl) => taEl.value === 'known cell content'
    )[0];

这是可行的,但我更喜欢使用RTL。如何使用RTL的查询按值查询textarea元素?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-02-15 17:06:55

当然,在问完这个问题后,我马上就明白了。对于任何感兴趣的人,对我来说解决这个问题的方法很简单,就是从我查询的文本中去掉前导空格和尾随空格:

代码语言:javascript
复制
screen.getByText(cell.value.trim())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66205070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档