- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在为我正在从事的项目运行一些测试,但在使用 fireEvent.select()
时遇到问题作为关注输入字段的一种方式。
it('is not working :(', () => {
const input = queryByPlaceholderText('blah');
fireEvent.change(input, {
target: {value: 'some text'},
});
expect(input).toHaveAttribute('value', 'some text');
fireEvent.select(input); <-- issue here
});
我正在测试的组件有一个下拉菜单,仅在输入焦点时才会显示,但它似乎既不是 fireEvent.change()
也不是 fireEvent.select()
专注于该领域。我知道 fireEvent.change()
会更改输入值。
fireEvent.click()
fireEvent.focus()
fireEvent.select()
input.focus()
但这些选项都不起作用。
我需要能够在此下拉菜单中选择一个选项,以便能够正确测试该组件。
有没有办法通过 RTL 专注于输入字段?
最佳答案
为了让它与 React-Select 一起使用,我必须使用 ReactDOM 而不是 fireEvent
。然后我可以像平常一样使用 react-testing-library
测试/运行断言。
import ReactDOM from 'react-dom';
import TestUtils from 'react-dom/test-utils';
export const openDropdown = ($container) => {
// Opens the dropdown
// eslint-disable-next-line react/no-find-dom-node
selectOption(ReactDOM.findDOMNode($container).querySelector('.Select-arrow'));
};
export const selectOption = ($container) => {
// Selects an option from the dropdown
TestUtils.Simulate.mouseDown($container, { button: 0 });
};
const $fooSelect = await waitForElement(() => app.getByTestId('foo-select'));
openDropdown($fooSelect);
const $fooElement = await waitForElement(() => app.getByText(fooFixture[0].name));
selectOption($fooElement);
await wait()
// do stuff...
关于javascript - React-testing-library - fireEvent.select() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53305648/
我有以下类 ProtokollEvent public class ProtokollEvent extends Event { //variable holds all devices in giv
我一直在尝试用 JavaScript 制作 Battleship 游戏以完成学校作业,但我一直在尝试创建对手 AI。当我点击网格中的单元格时,我创建了一个事件: function addListene
我是 Jest 和测试库的新手。我有一个 NavbarContainer 组件,它根据正在使用函数更改的变量 (menuOpen) 呈现一个或另一个按钮。我已经检查过变量在 fireEvent 之后更
我正在使用 extjs 3 构建自己的类(许可证问题) Ext.ux.MyClass = Ext.extend(Ext.Container, { initComponent: funct
一些简单的事件驱动代码。无论出于何种原因,我似乎无法将“onchange”作为参数传递给 fireEvent()。在 IE 7/8 中引发无效参数错误。这个项目需要是原生的。帮助不大? 自定义事件创建
🙂我正在学习 React 中的测试,但 fireEvent 不会改变我输入的值。不幸的是,我不知道为什么? 我正在渲染 BuyPlace 组件。在这个组件中,我有一个具有输入组件的表单(这些组件只是
我目前正在使用 Jest 测试输入& react-testing-library 。我正在尝试测试 onChange 函数是否在我的输入字段发生更改时触发。这是我的代码示例: const placeH
我有一个按钮,当在 Firefox/Chrome 浏览器中使用 jquery/javascript/Ext JS5 模拟点击这个按钮时。这个按钮会触发它的事件,但是在 IE11 中做同样的事情时,事件
知道下面这行的作用吗? 这里的“Popup”是什么事件? fireEvent('Popup','ok'); 最佳答案 事件通常分为两种类型。 DOMEvent 和 Class.Event。 最常见的是
我发现此链接涵盖了如何创建自定义 Java 事件。 http://www.exampledepot.com/egs/java.util/custevent.html 我不明白的是.. fireEven
我希望我的字段在失焦时提交。 (模糊事件)。触发提交的事件是一个 ENTER 键事件。所以我这样做了: outOfFocus: function(field, event) { console
我通过ajax调用一些文本文件,我需要将其保存在客户端,我找到了一个代码可以帮助我解决这个问题(它可以在Opera,Chrome,FireFox中工作),但在IE 8中它不需要工作时,我在 fireE
我想做什么 我想在某些测试期间将一些自定义属性传递给事件(使用 react-testing-library 和 jest)。我正在使用 fireEvent 函数。我从docs了解到第二个参数中的属性被
你如何制作 fireEvent itemclick商店加载后。 我有这个,但它不起作用: pcfstore.on('load', function(){ //auto select first
我正在测试 ExtJS4,但需要一些帮助... 我有这个 HTML 代码: 这个脚本代码: Ext.addBehaviors({ '#sendButton@click': function
我正在尝试使用 IE 的 fireEvent 方法提交表单。下面是一些简单的测试代码: function fireSubmit () { if (document.createE
我想用 leaflet 在 javascript 中模拟鼠标点击。 我有一张包含几个不同图层的 map 。一些激活弹出窗口。当我用鼠标单击某个项目时,会出现一个弹出窗口。 当我尝试执行以下代码时,它似
在我的应用程序中,Ti.App.addEventListener 执行了多次,甚至调用了一次 fireEvent。 我无法删除 fireEvent。如何删除创建的 fireEvent。 这是我的示例文
我需要在客户端图像 map 上使用 IE 模拟鼠标单击。哪个对象应该调用fireEvent() ?它不能简单地是对象,因为它可以被 2 个不同的 引用s。它不可能是因为我们需要一种方法来判断 img
我一直在尝试在 ExtJs 中的选项卡面板标题上创建上下文菜单,但遇到了一些问题。 最终,我希望它出现在右键单击和左键单击上;目前,右键单击时它看起来很好,但我也无法在左键单击上发生右键单击事件。 我
我是一名优秀的程序员,十分优秀!