如何测试组件内部的功能? (它会影响函数的输出)
我有一个函数shouldRender
,该函数确定是否应渲染组件。我尝试安装该功能并手动设置必要的道具和状态,但该功能似乎未正确调用。
class MyComponent extends Component {
shouldComponentRender(myProp, myState) {
return myProp && myState;
}
render() {
const shouldRender = shouldComponentRender(this.props.shouldRender, this.state.shouldRender);
return (
<React.Fragment>
{shouldRender && <div> .... <div>}
</React.Fragment>
)
}
}
测试代码:
const wrapper = mount(<MyComponent />);
wrapper.setProps({shouldRender: true});
wrapper.setState({shouldRender: true});
expect(wrapper.find(".someClassThatShouldExistIfItWorked").length).to.equal(1);
我使用mount
是因为我想在componentDidMount
中看到某些内容,但这与该问题无关。
我在最后一行得到的错误是:
AssertionError: expected 0 to equal 1