Unit testing react jest使用事件对子组件进行单元测试
如果我有一个子组件,它有一个onclick事件,而onclick事件又调用父事件处理程序,那么单元测试的最佳方法是什么?在我的例子中,当用户单击按钮时,按钮的文本值会发生变化-这在this.props.myEvent中处理 我的单元测试在测试初始值时起作用Unit testing react jest使用事件对子组件进行单元测试,unit-testing,reactjs,jestjs,Unit Testing,Reactjs,Jestjs,如果我有一个子组件,它有一个onclick事件,而onclick事件又调用父事件处理程序,那么单元测试的最佳方法是什么?在我的例子中,当用户单击按钮时,按钮的文本值会发生变化-这在this.props.myEvent中处理 我的单元测试在测试初始值时起作用 expect(button.getDOMNode().textContent).toEqual('startValue'); ,但当用户单击按钮并且按钮值更新为某个值时,如何创建单元测试 就我而言,我有一个按钮: var React =
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>
)
}
});
谢谢您可以用插件模拟点击:
所以在我的例子中,按钮的值在用户点击后改变。在我的单元测试中,我使用'expectbutton.getDOMNode.textContent.toEqual'initialValue';'检查按钮文本的初始值然后我按照你的建议去做。Simulate.Click-但是,当我在模拟单击之后检查按钮文本的值时,该值保持不变。
React.addons.TestUtils.Simulate.click(button.getDOMNode());