我正在为一些提出服务器请求的React组件编写快照测试,但我很难找到一种合理的方法来测试它们。给出以下示例:
class FetchingComponent extends Component {
constructor(props) {
super(props);
this.state = {
serverError: null;
}
}
doServerOperation = () => {
makeServerRequest()
.then((result) => console.log('Great!'))
.catch((error) => this.onRequestFailure(error));
}
onRequestFailure = (error) => {
this.setState({serverError: error});
}
render() {
return (
<div>
<button onClick={this.doServerOperation}/>
{ this.state.serverError && <div>{this.state.serverError}</div> }
</div>
)
}
}
我想测试onRequestFailure
在快照中呈现预期输出。但是,据我所知,我无法手动触发onRequestFailure
- 从component.toJSON()
给我的树只允许我触发doServerOperation
,它绑定到子按钮的onClick
属性。
onRequestFailure
方法?答案 0 :(得分:0)
看起来我缺少的技巧是在getInstance()
创建的组件上使用renderer.create()
!