Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何测试返回函数值_Javascript_Html_Reactjs_Jestjs - Fatal编程技术网

Javascript 如何测试返回函数值

Javascript 如何测试返回函数值,javascript,html,reactjs,jestjs,Javascript,Html,Reactjs,Jestjs,如何测试此函数的返回值 handleValidatePassword = (confirmPassword) => { const { newPassword } = this.props; if (newPassword !== confirmPassword) { return <FormattedMessage id="some value" />; } } handleValidatePassword=(confirmPassw

如何测试此函数的返回值

handleValidatePassword = (confirmPassword) => {
    const { newPassword } = this.props;
    if (newPassword !== confirmPassword) {
      return <FormattedMessage id="some value" />;
    }
  }
handleValidatePassword=(confirmPassword)=>{
const{newPassword}=this.props;
if(newPassword!==confirmPassword){
回来
}
}
如果条件正确,我需要检查此函数的返回值是否为预期值:(FormattedMessage return span with value==id)

一些值

我使用的是来自酶的浅层测试

如果你使用jest或jasmine f.e,我个人会使用酶匹配器

从“酶”导入{shall}
从“/yourpath”导入元素
const wrapper=shallow();//安装/渲染/浅层(如适用)
//“浅”仅渲染一级子组件
expect(wrapper.toContainReact();
//或者,如果您想实际测试span元素,您应该使用mount
const wrapper2=mount();
expect(包装器).toContainReact(某个值);

您应该更好地解释您想做什么您的问题有点不清楚。在函数put console.log(changePass.alerts.notMatch)的测试中,您使用什么呈现组件(可能是酶?);在return之前,将import{shallow}从'enzyme'用于test不起作用,因为在安装组件时不存在,我在函数中有一个条件,因此我需要检查函数是否会返回,如果条件正确满足,但是感谢这些信息,这将在将来帮助我。我需要测试函数是否会返回,例如--`wrapper.instance().handleValidatePassword=jest.fn();wrapper.instance().handleValidatePassword.mockReturnValue(changePass.alerts.notMatch);`但是这不起作用,您可以在使用此函数的地方共享组件代码吗?代码中的这种情况是否取决于组件的状态?如果是这样,那么您可以在测试中使用setState。我可以验证此函数是否会返回吗?好像它独立于组件和其他东西,或者我可以以某种方式检查条件是否有效(例如:newPassword!==confirmPassword)
<span> some value </span>