与Jest一起测试Onchange事件。任何建议
以下代码从渲染方法返回。我将索引值作为0通过道具发送。我还通过道具发送Onchange功能。但是,当我进行NPM运行测试时,Onchange功能不会调用。
受益人
{props.isEditing ?
<Textbox
id={`beneficiary-value-${props.index}`}
onChange={(e) => props.onChange(e)}
inputType={'number'}
/> :
<span className={"percentage"}>{`${props.beneficiary.percentage}%`}</span>
}
。
test.js:
test('受益人渲染而不会崩溃',()=&gt; {
let beneficiary =
{
"name": "Emma Smith",
"dob": "",
"relationship": "",
"percentage": "",
"hasChanged": false
};
const onChange = jest.fn();
const dom = render(
<BeneficiaryItem beneficiary={beneficiary} index={0} isEditing={true} onChange={(e) => onChange(e)} />
);
const beneficiaryValue = dom.container.querySelector("#beneficiary-value-0");
fireEvent.change(beneficiaryValue);
})
以上是我的测试用例文件。
the below code is returned from render method. I am sending index value as 0 through props. i am also sending onChange function through props. but onchange function is not calling when i do npm run test.
beneficiary.js
{props.isEditing ?
<Textbox
id={`beneficiary-value-${props.index}`}
onChange={(e) => props.onChange(e)}
inputType={'number'}
/> :
<span className={"percentage"}>{`${props.beneficiary.percentage}%`}</span>
}
.
test.js:
test('Beneficiaries renders without crashing', () => {
let beneficiary =
{
"name": "Emma Smith",
"dob": "",
"relationship": "",
"percentage": "",
"hasChanged": false
};
const onChange = jest.fn();
const dom = render(
<BeneficiaryItem beneficiary={beneficiary} index={0} isEditing={true} onChange={(e) => onChange(e)} />
);
const beneficiaryValue = dom.container.querySelector("#beneficiary-value-0");
fireEvent.change(beneficiaryValue);
})
the above is my test case file.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
更改事件应如下所示,预计将有新价值作为参数:
请参阅React测试库文档以获取更多详细信息。
Change event should be fired as below, it expects new value as an argument:
Please refer to React testing library documentation for more details.