Reactjs 无法发射一个";点击";事件-请提供DOM元素-单选按钮JestJs
我正在编写测试,使用Jest和React单击值“green”单选按钮。我面临一个错误 单选按钮:Reactjs 无法发射一个";点击";事件-请提供DOM元素-单选按钮JestJs,reactjs,unit-testing,jestjs,Reactjs,Unit Testing,Jestjs,我正在编写测试,使用Jest和React单击值“green”单选按钮。我面临一个错误 单选按钮: id=“radioButton”aria label=“Radio Button”name=“Radio Button field”> 无线电测试: import React from 'react'; import { render, fireEvent } from '@testing-library/react'; import ReactDOM from 'react-dom'; impor
id=“radioButton”aria label=“Radio Button”name=“Radio Button field”>
无线电测试:
import React from 'react';
import { render, fireEvent } from '@testing-library/react';
import ReactDOM from 'react-dom';
import Colors from './colors';
import { BrowserRouter } from 'react-router-dom';
test('It should click on radio button', async () => {
const div = document.createElement('div');
const dom = render(
<BrowserRouter>
<Colors />
</BrowserRouter>,
div
);
var input = dom.getByLabelText('Radio Button');
fireEvent.click(input, { target: { value: 'green' } });
});
从“React”导入React;
从'@testing library/react'导入{render,firevent};
从“react dom”导入react dom;
从“./Colors”导入颜色;
从“react router dom”导入{BrowserRouter};
test('它应该单击单选按钮',async()=>{
const div=document.createElement('div');
常量dom=render(
,
div
);
var input=dom.getByLabelText(“单选按钮”);
单击(输入,{target:{value:'green'});
});
但我面临一个错误。无法触发“单击”事件-请提供DOM元素
我是否遗漏了什么,或者是否有其他方法可以使用fireEvent单击单选按钮?在单选类型上,您应该使用更改,而不是在fireEvent中单击
fireEvent.change(input, { target: { value: 'green' } });
提示:建议使用屏幕查找元素:
import { render, fireEvent, screen } from '@testing-library/react';
const radio = screen.getByLabelText('Radio Button');
DOM测试库还导出一个screen对象,该对象包含预绑定到document.body的每个查询(使用In功能)。React Testing Library之类的包装器将重新导出屏幕,以便您可以以相同的方式使用它。你可以去看看