我有一个反应组件'BaseComponent',它的输入类型文本带有按钮,为此提供了一个onclick处理程序。
<input
name="customer"
type="text"
value={this.state.parameter1}
onChange={this.handleChange}
/>
<button onClick={this.handleSubmit}></button>
构造函数:
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
handleChange是:
handleChange(event) {
this.setState({parameter1: event.target.value});
}
handleSubmit是:
handleSubmit(event) {
event.preventDefault();
this.setState({
//setting parameters- eg: this.state.parameter2=
})
//api call - using parameter1
}
从输入类型的文本读取数据后,有api调用。根据api响应,将调用其他两个组件OtherComponent1
和OtherComponent2
。
最好的测试方法是什么?
到目前为止,我正在通过以下方式测试baseComponent:
const baseComponentData = shallow(<BaseComponent />);
baseComponentData.setState({ property1: true });
然后检查
baseComponentData.html().
我如何buttonOnclick
处理数据? (意味着handleSubmit
需要被调用)
我嘲笑buttonOnclock
之后,我认为可以使用jest.mock
嘲笑api。
有什么建议吗?