问题描述
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 (将#修改为@)