使用reactJs TestUtils模拟文本输入

我希望能够模拟一个使用reactjs在文本框中键入内容的用户,以便我可以测试验证状态消息。

我有一个可以在keyUp上验证的react组件

以下是我尝试过的简单示例。

nameInput.props.value = 'a';

React.addons.TestUtils.Simulate.keyUp(nameInput);

React.addons.TestUtils.findRenderedDOMComponentWithClass(component, 'has-error');

当我在验证器中调试时,这似乎并没有更改绑定文本框的值

React.addons.TestUtils.Simulate.keyUp(nameInput, {key: 'a'});

React.addons.TestUtils.findRenderedDOMComponentWithClass(component, 'has-error');

也不是。

有人可以指出我的正确方向,第二个是我可以在simulator(http://facebook.github.io/react/docs/test-

utils.html)上找到的文档,第一个对我来说很有意义(设置实际的文本框值,然后伪造一个事件)

回答:

通过设置,nameInput.props.value = 'a';您实际上并没有更新组件中的值。

您应该使用React.addons.TestUtils.Simulate.change(nameInput, { target: { value: 'a'

} });或类似方法模拟修改实际值。

以上是 使用reactJs TestUtils模拟文本输入 的全部内容, 来源链接: utcz.com/qa/411435.html

回到顶部