【发布时间】:2019-02-05 17:57:12
【问题描述】:
我想为maxLength 测试Input jsx 元素。
我在反应中的元素-
const ValidatedInput = ({ name, labelName, value, onChange, disabled, maxLength = 10 }) => {
return (
<div className="form-group">
<label className="form-control-label" htmlFor={name}>
{labelName}
</label>
<Input className="form-control" type="text" id={name} name={name} value={value} autoComplete="off"
onChange={onChange}
disabled={disabled}
maxLength={maxLength}
/>
</div>
)
};
我的测试是
it('should not content more that 10 characters', () => {
const wrapper = mount(<ValidatedInput onChange={()=> {return true;}}
id={'testInput'}
value={'1234567890extra'}
/>);
expect(wrapper.find('input').instance().value).toBe('1234567890');
});
我在控制台上打印的值是 '1234567890extra' 而不是 '1234567890',而当从 UI 手动测试时,它运行良好。
【问题讨论】:
-
Input是什么?和input有区别吗?
标签: reactjs mocking enzyme maxlength