反应jest单元测试儿童组件与事件

时间:2015-04-21 14:26:31

标签: unit-testing reactjs jestjs

如果我有一个具有onclick事件的子组件,而该组件又调用父事件处理程序,那么对它进行单元测试的最佳方法是什么?在我的例子中,当用户点击它时,按钮的文本值会发生变化 - 这是在this.props.myEvent中处理的。

我的单元测试在测试初始值

时有效
expect(button.getDOMNode().textContent).toEqual('startValue');

,但是如何在用户点击按钮并将按钮值更新为某个值时创建单元测试?

在我的情况下,我有一个按钮:

var React  = require('react');

module.exports = React.createClass({
  myEvent: function(a,b){
    this.props.myEvent(a, b);
  },
  render: function() {
    return (
        <button name="myButton" id={this.props.id} onClick={this.myEvent.bind(this.props.a,this.props.b)}>{this.props.value}</button>
    )
  }
});

感谢

1 个答案:

答案 0 :(得分:0)

您可以使用TestUtils插件模拟点击次数:

React.addons.TestUtils.Simulate.click(button.getDOMNode());