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>