javascript - 使用 getByDisplayValueText 在反应测试库中找不到按钮
问题描述
我有一个简单的组件,它有 3 个按钮。我想通过使用反应测试库找到按钮并模拟点击。问题是我无法通过下面的代码在我的测试中找到第一个按钮。考虑到我有一个按钮
value="All"
和另一个按钮"completed"
作为文本。我可以找到第二个按钮(我无法更改第一个按钮的代码)
document.body.innerHTML = `
<button value="All" />
<button>Completed<button/>
<button>in progress<button/>
<span>multi-test</span>
<div>multi-test</div>`;
screen.debug();
screen.debug(screen.getByDisplayValueText('All')); ---> doesn't work
screen.debug(screen.getByText('Completed')); ----> works
解决方案
screen.debug(screen.getByDisplayValueText('All')); ---> doesnt work
你有 .getByDisplayValue文本并且应该有 .getByDisplayValue (没有“文本”)。
https://testing-library.com/docs/dom-testing-library/api-queries
getByDisplayValue(
container: HTMLElement,
value: TextMatch,
options?: {
exact?: boolean = true,
normalizer?: NormalizerFn,
}): HTMLElement
推荐阅读
- r - paste0() 中的 Html 标记用作 str_replace_all 中的替换,使用 r
- ios - iPhone X - 安全区域布局指南 - 我希望我的应用全屏显示,而不仅仅是在安全区域
- javascript - 从 html 中的 select 标记中获取值,我知道这将表明这可能是重复的,但请看一下
- android - 当有新的 Android 版本可用时,Android 应用程序的 build.gradle 文件中的 targetSDKVersion 是否会自动更新?
- python - 在 Python 中查找字符串中元音的位置
- c# - 在c#中组合2个不同的循环
- python - 使用 str 理解清理 pandas 数据框中的一列字符串
- haskell - 基于约束的 Haskell 实例调度
- java - com.google.cloud.storage.StorageImpl 的 clojure java 互操作
- apache-spark - 检查 Spark Dataframe 行是否有任何列满足条件并在找到第一个此类列时停止