在 React 测试库中发现多个元素错误

2024-02-04

我在查询时遇到问题,我正在尝试获取两个无线电输入,其中之一没有任何问题,但另一个反应测试库引发了错误:It Found multiple elements with the role "radio" and name /to/i:

queries

test('Render form with default items', () => {
  const handleUpdateValue = jest.fn();
  const handleNextStep = jest.fn();
  render(
    <Form
      handleNextStep={handleNextStep}
      updateValue={handleUpdateValue}
      transferFundsValues={{}}
    />
  );

  const amountInput = screen.getByLabelText(/amount/i);
  const fromRadio = screen.getByLabelText(/from/i);
  const toRadio = screen.getByLabelText(/to/i);
  const messageInput = screen.getByLabelText(/message/i);

  const continueButton = screen.getByRole('button', { name: /continue/i });
  const cancelButton = screen.getByRole('button', { name: /cancel/i });

  // If no value has been entered to the inputs, the continue button must be
  // disabled
  expect(continueButton).toBeDisabled();
});

html结构

<label for="transferFunds_from" class="ant-form-item-required" title="From">From</label>
<input id="transferFunds_from" type="radio" class="ant-radio-button-input" value="">

<label for="transferFunds_to" class="ant-form-item-required" title="To">To</label>
<input id="transferFunds_to" type="radio" class="ant-radio-button-input" value="">

RTL 引发的错误

 TestingLibraryElementError: Found multiple elements with the role "radio" and name `/to/i`

    Here are the matching elements:

    <input
      class="ant-radio-button-input"
      id="transferFunds_from"
      type="radio"
      value=""
    />

    <input
      class="ant-radio-button-input"
      id="transferFunds_to"
      type="radio"
      value=""
    />

我不知道我是否在 HTML 结构中做错了什么,或者是否是 React 测试库错误。


只是一个快速提示,如果您有多个匹配元素,您可以像这样查询:

HTML:

<a href="/my-element">My element</a>
<a href="/my-element">My element</a>

TEST:

test('renders my element', () => {
  let link = screen.getAllByText('My element')[0] as HTMLAnchorElement;
  expect(link.href).toContain('/my-element');
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 React 测试库中发现多个元素错误 的相关文章

随机推荐

  • 根据常识,什么是正确的: (int) blabla * 255.99999999999997 或 round(blabla*255)?

    最近我在 webkit 源代码中发现了这个有趣的事情 与颜色转换 hsl 到 rgb 相关 http osxr org android source external webkit Source WebCore platform graph
  • MongoDB 中多租户数据库的推荐方法是什么?

    我正在考虑使用 MongoDB 创建一个多租户应用程序 我还没有猜测我会有多少租户 但我希望能够扩展到数千个 我可以想到三种策略 同一集合中的所有租户 使用特定于租户的字段来确保安全 单个共享数据库中每个租户 1 个集合 每个租户 1 个数
  • 使用 python 从 LaTeX 文件中提取特定部分

    我有一组 LaTeX 文件 我想为每个提取 抽象 部分 begin abstract end abstract 我已经尝试过这里的建议 如何解析LaTex文件 https stackoverflow com questions 307523
  • 方法的多个返回类型

    我正在尝试用 Rust 编写一个简单的电视剧文件重命名器 文件名被解析 并且可能是多种类型之一 基于日期 基于季节 剧集编号等 然后 此解析后的文件将转换为包含数据库中数据的 填充文件 然后将其格式化为新文件名 最初我尝试让parse方法采
  • DB PHP 中的条目数

    我正在创建一个函数来显示现在有多少用户在线 这是基于过去 5 分钟内打开页面的人 每个页面加载都保存到我的数据库中 如下所示 目前我有以下代码 query mysql query SELECT user id timestamp FROM
  • Vuex - 绑定助手中的动态命名空间(mapState,...)

    我正在动态注册 vuex 存储模块 store registerModule home grid GridStore 然后在组件中 export default name GridComponent props namespace type
  • 哪些版本控制工具可用于 MongoDB [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我计划将基于 mongodb 的迁移工具集成到我的 spring boot 应用程序中 该应用程序在项目中具有 spring data 依赖
  • 在sqlite数据库中保存日志表?

    我正在寻找一种方法来设置 通过 SQL 一个日志表 其中包含对我的 sqlite 数据库所做的所有操作 最好是向数据库发出的插入 创建表等语句 我确信有办法通过在每个表上设置触发器来做到这一点 但这只是太多的工作 而且如果我稍后更改数据库的
  • 在 C# 中通过委托实现观察者模式?

    有一个问题已经回答了 那就是在C 中 观察者模式不是已经使用事件实现了吗 https stackoverflow com questions 32034 in c isnt the observer pattern already impl
  • Rails 验证中的单词计数

    我使用以下验证来计算 Rails 中的单词数 我从 Rails 文档中获取了示例 但它并不真正准确 validates body length gt minimum gt 50 maximum gt 300 tokenizer gt lam
  • 将日志文件保持在一定大小

    我有一个在信息亭 C WPF 中的独立平板电脑上运行的应用程序 它对文本文件执行一些典型的日志记录操作 随着这些日志的增长 PC 具有有限的磁盘空间来存储这些日志 我需要做的是能够指定日志文件允许的最大大小 如果在尝试写入日志时超出最大大小
  • 使用 EF Core 和 MySQL 实现行版本的更好方法?

    如果我在模型中使用以下字段 DatabaseGenerated DatabaseGeneratedOption Computed Timestamp public DateTime RowVersion get set 然后将该列定义为 R
  • Composer 不检测 php7,而是使用 5.6。如何设置 CLI 以使用 php7

    当我执行时在这里php v 它说它有 php7 但是当我尝试执行时composer update 回应它 Your requirements could not be resolved to an installable set of pa
  • MySQL 多重选择、多个Where 子句

    我不想为一项操作运行数百个 SELECT 查询 而是只想运行一个大查询 我希望这能减轻服务器上的负载 SELECT SELECT link type id FROM connections WHERE node to id 0 AND no
  • 使用 AAD 应用程序密钥和服务主体密码之间的身份验证差异

    要在 Azure 中运行应用程序 我需要在 Azure AD 中创建应用程序和相应的服务主体 然后我的应用程序针对此应用程序 主体对进行身份验证 为了进行身份验证 我可以在应用程序注册中创建应用程序密钥 或者可以在服务主体中创建密码 以及其
  • Visual Studio 2017 HRESULT: 0x80070005 / E_ACCESSDENIED 项目创建

    我正在运行 Visual Studio 2017 版本 15 0 0 26228 9 当我尝试通过创建一个新项目时文件 gt 新建 gt 项目 在 Visual Studio 2017 中 我收到以下错误消息 并且未创建项目 访问被拒绝 H
  • 将 YAML 文件中的数字替换为随机数

    我有一个包含很多数字的文件 我希望每个数字都被替换为随机数 以便Python脚本更改YAML文件 如何用 Python 编写这个代码 h 1 X 950 00000 Y 1500 00000 Z 150 00000 h 2 X 950 00
  • 如何动态添加 XML 副本

    我正在制作一个Android应用程序 我想在线性布局中复制一些XML代码 并将其重新插入到线性布局中 以便线性布局中有两个相对布局 我想通过下面的代码动态地执行此操作
  • python 中的构造函数和初始值设定项有什么区别? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 和 Python C API new versus init https stackoverflow com questions 4859129 python and python c
  • 在 React 测试库中发现多个元素错误

    我在查询时遇到问题 我正在尝试获取两个无线电输入 其中之一没有任何问题 但另一个反应测试库引发了错误 It Found multiple elements with the role radio and name to i queries