问题标签 [user-event]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2666 浏览

reactjs - 使用@testing-library/user-event 进行测试以选择多个选项不会在“onChange”回调中发送正确的值?

一个简单的多选组件:

当用户选择任何选项时,它会将选定的值发送到onSelectedValuesChange回调。

我想对其进行测试并用于@testing-library/user-event模拟用户选择选项。

代码中的第 (1) 部分按预期工作,但第 (2) 部分失败。mockOnChange回调仅["1"]作为传递参数获取。

这里还有一些控制台中的消息可能有用:

我们可以看到onSelectOptions已经被调用了 2 次,但参数总是['1']

我滥用什么了吗?

这是此问题的一个小而完整的演示:https ://github.com/freewind-demos/typescript-react-testing-library--user-event--multiple-select--demo

0 投票
0 回答
2202 浏览

reactjs - 无法使用 @testing-library/user-event 用新值更新文本区域

我需要使用@testing-library/react 测试一个graphql-react 组件。我想根据查询的结果值显示文本区域。[我能得到那个]。但是,无法使用 @testing-library/user-event 使用新值更新文本区域。

这是 graphql-react 组件:

CustomWelcomeMessageContainer.jsx

这是测试文件:

CustomWelcomeMessageContainer.test.jsx

在第一个测试中,渲染了一个基本的文本区域,并且文本更新成功[这意味着用户事件的使用没有问题]。

而在第二个测试中,graphql-react 组件被渲染并且文本更新失败。是因为 textarea 最初是从道具中填充的吗?无法理解为什么更新不起作用。这是我得到的错误:

0 投票
1 回答
2548 浏览

javascript - 为什么 @testing-library/user-event 上不存在 clear 方法

我正在做一个 CMS 项目,但我遇到了一个问题。_userEvent.default.clear is not a function.

当我访问时@testing-library/user-event,我看到了那些线条

如文件所示,clear()userEvent. 但是文档指出了clear()方法。

文档 =>文档

这是我第一次使用这个库。任何人都知道问题是什么?

0 投票
1 回答
602 浏览

javascript - 使用@testing-library/user-event 进行虚假点击

我想测试单击反应中的链接时是否发生跟踪事件。但是,我确实得到了Error: Not implemented: navigation单击链接时发生的情况的影响。我正在用 jest 和@testing-library/user-event 进行测试

我现在想模拟或存根,以便在触发 userEvent 时不会发生导航尝试,因为我只想看到正在发生的跟踪事件。我怎样才能做到这一点?

0 投票
2 回答
359 浏览

reactjs - 如何使用 @testing-library/user-event 测试 react-jsonschema-form 组件

我什至无法为react jsonschema form编写最简单的测试。因为对输入元素的更改似乎没有反映在 dom 中。

给定一个像这样的最小形式:

一个最小的测试看起来像

(在Codesandbox完成示例。)

在表单字段中键入后,文本First task aaa应替换为567890。不幸的是,事实并非如此。input.value保持价值First task aaa

我尝试了许多触发事件的变体并等待结果,但输入元素的值始终保持不变。

我缺少什么来测试<MyForm />组件?对我来说似乎很标准。

0 投票
1 回答
818 浏览

react-testing-library - 如何使用反应测试库模拟 window.focus()?

我一直在做很多研究,但我找不到成功模拟窗口焦点事件的方法。

我查看了“测试库/用户事件”,但仍然找不到这样做的方法。

在我的组件中,我们有window.addEventListener('focus', doSomething);,但这永远不会通过测试运行程序调用。

0 投票
2 回答
660 浏览

click - fireEvent.click() (form fireEvent) vs element.click() (来自 JSDOM)

背景:我正在使用测试库并试图了解一些底层机制。

由于 JSDOM 已经提供了“点击”事件的处理,我想知道:

  • 这两种管理事件的方式有区别吗?
  • 如果不是,为什么 fireEvent 重新定义了这个事件?

如果存在差异,我想了解它们是什么以及何时使用一种工具或另一种工具。

(对于第二个问题,我有一个想法,但我想确认一下:fireEvent 提供了一个全局统一的接口来生成事件。点击是其中的一个自然部分。)

0 投票
1 回答
373 浏览

reactjs - React-Select 和用户事件库

我想使用 User-Event-Testing-Library ( https://testing-library.com/docs/ecosystem-user-event/ ) 测试我的 react-select 组件。
我只想测试如果单击则选择打开菜单。

这是我的代码:

如果我使用 fireEvent 它可以工作,但是如果我使用 useEvent 它就不能工作..

0 投票
1 回答
498 浏览

reactjs - 将 userEvent 与 React 测试库和 react-select AsyncSelect 一起使用时出错(但仅在 CodeSandbox 中?)

我创建了这个 CodeSandbox,以便我可以演示相关代码的问题(onChange 未在测试中触发):

https://codesandbox.io/s/festive-tree-xkw8s?file=/src/App.test.js

但是在 CodeSandbox 中,我什至无法做到这一点,因为只要我打电话

我在控制台中设置了这个错误:

因此,永远不会触发 loadOptions 回调AsynSelect(在本地我对此没有任何问题,只是 onChange 没有触发)。

我无法找到有关此错误的任何示例或指导。我没有经常使用 CodeSandbox,所以也许我缺少一些基本的东西。

我在本地环境中没有看到此错误,但我正在尝试解决它,因为我想完成原始问题的设置。

0 投票
1 回答
58 浏览

google-cloud-platform - Recommendations AI 项目中的“INCORRECT_JSON_FORMAT userEvent”错误

有谁知道这个错误可能意味着什么? 错误截图