在类方法中返回组件时进行测试

时间:2018-03-28 11:47:21

标签: reactjs react-redux mocha chai enzyme

以下是我的反应代码,我正在尝试编写酶测试用例

getToolbarContent = () => {
  switch (this.props.botBuilder.selectedConsole) {
    case 'actions': {
      return this.getActionToolbar();
    }
    case 'usecases': {
      return this.getUsecaseToolbar();
    }
  }
}
// How to call ToolbarFloatingButton from method
getActionToolbar() {
  return (
    <div className="bot-toolbar-container">
      <ToolbarFloatingButton />
    </div>
  );
}
render() {
  return (
    <div className="bot-builder-toolbar">
      {this.getToolbarContent()}
    </div>
  );
}

酶:

it('call method getActionToolbar() and render ToolbarFloatingButton for actions', () => {
                const wrapper = shallow(<Toolbar {...defaultProps}/>);
                const getActionToolbarSpy = sinon.spy(Toolbar.prototype, 'getActionToolbar');
                expect(getActionToolbarSpy.calledOnce).to.be.false;
                wrapper.instance().getActionToolbar();

                //Trying to call ToolbarFloatingButton
                expect(wrapper.find(getActionToolbar()).dive().find(ToobarFloatingButton).to.be.length(1));
                expect(getActionToolbarSpy.calledOnce).to.be.true;
                getActionToolbarSpy.restore();
            });

以上是我的酶代码,我试图在getActionToolbar()中模拟ToolbarFloatingButton,但我无法模拟。

0 个答案:

没有答案