Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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
Reactjs 测试是否调用onBlur_Reactjs_Jestjs_Enzyme - Fatal编程技术网

Reactjs 测试是否调用onBlur

Reactjs 测试是否调用onBlur,reactjs,jestjs,enzyme,Reactjs,Jestjs,Enzyme,我已经搜索了两个小时如何做这件事,但无法让它工作。我有一个名为base text的类,它呈现一个输入字段。我试图测试onBlur函数是否被调用。但是我不能通过考试。我得到一份工作 TypeError:无法读取未定义的属性“\u isMockFunction” 有没有办法测试onBlur函数是否用mock调用 BaseText.js BaseText.test.js 组件BaseText没有名为onBlur的方法,但具有looseFocus 你应该试着关注你的实例,看看当你模拟一个模糊事件时它是否

我已经搜索了两个小时如何做这件事,但无法让它工作。我有一个名为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();
      });
    });