如果在反应单元测试中的 return 语句中未采用路径
If path not taken in return statement in react unit test
我收到的消息是“如果未采用路径”,因为我根据 id 未定义的情况应用了保存和更新操作的条件。
请指导我如何编写测试用例,其中 id 未定义或未定义并且还包含 return 语句。
我在单击按钮上同时应用更新和添加数据操作,因此如果 id 为 null 或未定义,我应用条件而不是执行 saveCampaignGroup() 保存数据操作执行。如果 id 不为 null 或不为 undefined 而不是 else 条件 updateCampaignGroup(id);动作执行。
{(() => {
if (id === undefined || id === '') {
return (
<Wizard.Step
title="Review and save"
isValid={true}
actions={{
primary: {
label: 'Complete and save',
onClick: () => {
saveCampaignGroup();
},
},
}}>
<PreviewDetails
details={inputState}
campaigns={selectedCampaigns}
NoCampaignExist={NoCampaignExist}
/>
</Wizard.Step>
);
} else {
return (
<Wizard.Step
title="Review and save"
isValid={true}
actions={{
primary: {
label: 'Complete and save',
onClick: () => {
updateCampaignGroup(id);
},
},
}}>
<PreviewDetails
details={inputState}
campaigns={selectedCampaigns}
NoCampaignExist={NoCampaignExist}
/>
</Wizard.Step>
);
}
})()}
in this image you can see by default else is covered but id via test case we set id=2
所以你必须申请:
component.find('#your_button_id').at(0).simulate('click');
对于两种测试场景:一种用于具有有效 id
道具的组件,另一种用于没有它的组件。
我收到的消息是“如果未采用路径”,因为我根据 id 未定义的情况应用了保存和更新操作的条件。 请指导我如何编写测试用例,其中 id 未定义或未定义并且还包含 return 语句。
我在单击按钮上同时应用更新和添加数据操作,因此如果 id 为 null 或未定义,我应用条件而不是执行 saveCampaignGroup() 保存数据操作执行。如果 id 不为 null 或不为 undefined 而不是 else 条件 updateCampaignGroup(id);动作执行。
{(() => {
if (id === undefined || id === '') {
return (
<Wizard.Step
title="Review and save"
isValid={true}
actions={{
primary: {
label: 'Complete and save',
onClick: () => {
saveCampaignGroup();
},
},
}}>
<PreviewDetails
details={inputState}
campaigns={selectedCampaigns}
NoCampaignExist={NoCampaignExist}
/>
</Wizard.Step>
);
} else {
return (
<Wizard.Step
title="Review and save"
isValid={true}
actions={{
primary: {
label: 'Complete and save',
onClick: () => {
updateCampaignGroup(id);
},
},
}}>
<PreviewDetails
details={inputState}
campaigns={selectedCampaigns}
NoCampaignExist={NoCampaignExist}
/>
</Wizard.Step>
);
}
})()}
in this image you can see by default else is covered but id via test case we set id=2
所以你必须申请:
component.find('#your_button_id').at(0).simulate('click');
对于两种测试场景:一种用于具有有效 id
道具的组件,另一种用于没有它的组件。