测试屏幕上是否存在反应

时间:2017-03-02 17:23:32

标签: reactjs testing mocha enzyme

我有一个带有提交按钮的输入字段,当有人输入文本出现在屏幕上的内容时。我怎样才能在反应中测试?

我知道如何模拟按钮点击,但期望是什么?或者我怎么能真正判断文本是否存在?

3 个答案:

答案 0 :(得分:0)

您需要使用refs使用React检查输入字段的值。 refs提供输入字段的虚拟DOM元素之间的挂钩接口以访问它的值。

答案 1 :(得分:0)

您通过id或类型或类来搜索该输入元素。您可以通过查看.value

来访问该元素的文本

答案 2 :(得分:0)

我不确定我是否理解这个问题...你的问题的第一部分让我觉得你想要检测用户何时在输入字段中输入一些文字,但第二部分让我想到你想要自动化测试,在输入中放置一些文本并模拟点击按钮,有点令人困惑......

在我的上一个项目中,我使用了该包而不是经典输入:react-contenteditable

您可以将代码挂钩到此组件触发的事件:

render() {

const { selectedDbItem } = this.props

return (
    <div>
        <ContentEditable
          onBlur={(e)=>this.onBlurField(e, 'supplier')}
          className="field-value"
          html={selectedDbItem ? selectedDbItem.supplier : ''}
          disabled={false}
          onChange={(e)=>this.onChangeField(e, 'supplier')}
          onKeyDown={(e) => this.onKeyDown(e)}
        />
      </div>

然后,您可以在包含组件中实现onBlur,onChange,onKeyDown(例如用于输入过滤...)的回调。

希望有所帮助