我正在尝试测试反应还原形式验证,我在这个测试中找不到我做错的事。
在我的上下文中,当字段值小于5个字符时,我必须显示一条简单的消息。
当我在浏览器中启动应用程序时,我的验证器工作正常。
我的问题是关于我应该写的测试才能使它工作。它没有通过绿色:
it('should display a "Not long enough" in a class .field-error', () => {
const input = TestUtils.findRenderedDOMComponentWithTag(searchBar, 'input');
TestUtils.Simulate.focus(input);
input.value = 'Test';
TestUtils.Simulate.change(input);
TestUtils.Simulate.blur(input);
const fieldError = TestUtils.findRenderedDOMComponentWithClass(searchBar, 'field-error');
expect(fieldError.textContent).toEqual('Not long enough');
});
它无法告诉我它找不到元素字段错误(在DOM中启动时很好地显示)。
如何让测试通过?我很确定这是一个测试实现问题......
我正在使用React,Redux,Redux Form和Redux-mock-store。
感谢您的帮助。
编辑:有关的渲染方法:
render() {
const {fields: {inputField}} = this.props;
return (
<form>
<input type="text" placeholder="Rechercher" {...inputField}/>
{inputField.touched && inputField.error && <div className="field-error">{inputField.error}</div>}
<button type="submit">Rechercher</button>
</form>
);
}