酶输入模拟无法正常工作

问题描述

我有一个要测试的React组件:

import React,{ useEffect,useRef } from 'react';
import { Form,FormControlProps } from 'react-bootstrap';
import inputmask,{ Options } from 'inputmask';

const Inputmask = (props) => {
    const { mask,maskPlaceholder,...formControlProps } = props;

    const inputElement = useRef<HTMLInputElement>();

    useEffect(() => {
        const opts: Options = {
            placeholder: maskPlaceholder
        };
        const im = new inputmask(mask,opts);
        if (inputElement.current) {
            im.mask(inputElement.current);
        }
    },[]);

    return (
        <Form.Control
            type="text"
            ref={inputElement}
            {...formControlProps}
        />
    );
}

export default VtbInputmask;

这是我的考验

import React from 'react';
import { mount } from 'enzyme';
import Inputmask from './Inputmask';

const wrapper = mount(<Inputmask mask="9" maskPlaceholder="*" />);
const input = wrapper.find('input');

describe('<Inputmask /> Tests',() => {

it('When hovering over the input,a mask should appear',() => {
    input.simulate('mouseleave');
    expect(input.props()).toHaveProperty('placeholder');
    expect(input.props().placeholder).toBe('*');

    // theoretical testing of keyPress events
    input.simulate('focus');
    input.simulate('keyDown',{keyCode: 49}); // enter 1
    console.log(input.props())
    expect(input.props().value).toBe('1');
});

});

但是测试不起作用。 error test

显然,模拟存在一些问题(我在console.log的帮助下进行了检查)。如何解决

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)