如何测试组件内部功能的行为?

时间:2019-08-25 03:01:55

标签: reactjs testing enzyme

如何测试组件内部的功能? (它会影响函数的输出)

我有一个函数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

0 个答案:

没有答案