如何解决酶输入模拟无法正常工作
我有一个要测试的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 举报,一经查实,本站将立刻删除。