如何在父组件测试中测试子组件props方法

问题描述

我正在为我的父类编写一个包含子组件的测试。代码覆盖率报告说我还没有涉及对子组件props方法的测试。下面是我的组件结构

export const CreateSRFullScreenPanel: React.FC<Props> = ({
  interPluginContext,srType,errorMessage,}: Props) => {
    const [disableButton,setdisableButton] = React.useState(false);
    const [submitSR,setSubmitSR] = React.useState(false);
    const returnToHomePage = (): void => {
     getRouteClient()
       .changeRoute(getActiveRegionBaseUrl(state.regionName));
    };
    const cancelOp = interPluginContext.isValid()
       ? CancelAction
       : returnToHomePage;
   ...
    <childSR disableButton={disableButton} onSubmitComplete={() => 
     setSubmitSR(false)}/>
   <Button
            type={ButtonType.Submit}
            buttonStyle={ButtonStyle.Primary}
            onClick={cancelOp}
            
   >
            Cancel
   </Button>
};

当我编写如下所示的测试时,我对方法调用的定义变得不确定。

it("check props method gets called",() => {
    const wrapper = mount(
        <ParentSR {...props} />
    );
    console.log(wrapper.find(CreateSR).props().onSubmitComplete()); // undefined
    console.log(wrapper.find(CreateSR).props().disableButton()); // true

  });

此外,当我单击取消按钮cancelOp时,将调用方法。如何模拟returnToHomePage方法调用

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)