gpt4 book ai didi

javascript - 如何测试接收事件的函数?

转载 作者:行者123 更新时间:2023-11-28 04:17:24 25 4
gpt4 key购买 nike

创建测试对我来说是新鲜事。我正在尝试为接收事件的函数创建测试。如果重要的话,这是一个 onChange 调用,而且我正在使用 chai

我的功能:

export function handleChange(event) {
if (isNaN(event.target.value)) {
event.preventDefault();
alert('input can only be a number');

} else if (event.target.value > 5) {
event.preventDefault();
alert('Rating can not be over 5 stars, please try again');

} else {
this.setState({starRate: event.target.value});
}

最佳答案

首先,您将 event.preventDefault() 应用于输入。在这种情况下,没有要阻止的“事件”,因此该代码本质上是无用的。

其次,当只有 event 传递给您的函数时,您正在使用 event.target.value。在本例中,您只需查找 event.value

要传递当前输入,只需传递 this 作为 JavaScript 函数的参数。 this 始终引用当前元素。

这是一个工作示例:

function handleChange(event) {
if (isNaN(event.value)) {
alert('The input can only be a number.');
} else if (event.value > 5) {
alert('Rating can not be over 5 stars, please try again.');
} else {
alert('The input was OK.');
}
}
<input onchange="handleChange(this)">

当您输入一个输入(然后尝试单击该输入)时,将引发 alert()

希望这有帮助! :)

关于javascript - 如何测试接收事件的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45703737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com