Reactjs 测试是否调用onBlur
我已经搜索了两个小时如何做这件事,但无法让它工作。我有一个名为base text的类,它呈现一个输入字段。我试图测试onBlur函数是否被调用。但是我不能通过考试。我得到一份工作 TypeError:无法读取未定义的属性“\u isMockFunction” 有没有办法测试onBlur函数是否用mock调用 BaseText.js BaseText.test.js 组件BaseText没有名为onBlur的方法,但具有looseFocus 你应该试着关注你的实例,看看当你模拟一个模糊事件时它是否被调用 来自代码的代码沙盒:Reactjs 测试是否调用onBlur,reactjs,jestjs,enzyme,Reactjs,Jestjs,Enzyme,我已经搜索了两个小时如何做这件事,但无法让它工作。我有一个名为base text的类,它呈现一个输入字段。我试图测试onBlur函数是否被调用。但是我不能通过考试。我得到一份工作 TypeError:无法读取未定义的属性“\u isMockFunction” 有没有办法测试onBlur函数是否用mock调用 BaseText.js BaseText.test.js 组件BaseText没有名为onBlur的方法,但具有looseFocus 你应该试着关注你的实例,看看当你模拟一个模糊事件时它是否
looseFocus = event => {
const { value } = event.target;
const { mustEnter, mustFill, limit } = this.props;
if (mustEnter) {
if (value.length < 1) {
alert('Missing info.');
}
}
if (mustFill && limit > 0) {
if (value.length < limit) {
alert('Missing info.');
}
}
};
render() {
const {
/...constants
} = this.props;
const { value } = this.state;
return visible ? (
<Input
disabled={disabled}
placeholder={text}
name={name}
value={value}
onChange={this.handleChange}
onBlur={this.looseFocus}
style={Styles}
minLength={minLength}
exception={exception}
mustEnter={mustEnter}
// prefix={this.props.prefix}
type={type}
maxLength={limit < 0 ? null : limit}
// menuRef={this.props.menuRef}
// zeroPad={this.props.zeroPad}
/>
) : null;
}
}
const defaultBaseText = shallow(<BaseText />);
describe('BaseText should make a function call on blur.', () => {
it('blur it', () => {
const instance = defaultBaseText.instance();
const spy = jest.spyOn(instance, 'onBlur');
instance.forceUpdate();
const p = defaultBaseText.find('Input');
p.simulate('blur');
expect(spy).toHaveBeenCalled();
});
});