Jestjs 测试一个函数,该函数返回一个对象,该对象返回一个函数,该函数返回一个布尔值

Jestjs 测试一个函数,该函数返回一个对象,该对象返回一个函数,该函数返回一个布尔值,jestjs,react-testing-library,Jestjs,React Testing Library,我想测试一个在if语句中调用的函数。我不知道如何测试这个函数,它实际上返回一个布尔值 代码 功能测试(){ if(等待SOP3loginConfig(props:object).isSOP3()){ //调用if语句 }否则{ //调用其他语句 } }尝试使用 it('应该调用SOP3函数',()=>{ props.user={}; const isSOP3Mock=jest.fn(()=>{ console.log('======================iSOP3已调用'); 返回

我想测试一个在
if
语句中调用的函数。我不知道如何测试这个函数,它实际上返回一个
布尔值

代码

功能测试(){
if(等待SOP3loginConfig(props:object).isSOP3()){
//调用if语句
}否则{
//调用其他语句
}
}
尝试使用

it('应该调用SOP3函数',()=>{
props.user={};
const isSOP3Mock=jest.fn(()=>{
console.log('======================iSOP3已调用');
返回true;
})
让SOP3loginConfig=(道具:any)=>{
console.log('=====================================I A M A测试');
返回{
isSOP3:isSOP3股票,
};
};
功能。启动(道具);
expect(isSOP3Mock).tohavebeincall();
expect(props.history.push).not.tohavebeincall();

});没有成功!`expect(jest.fn()).toHaveBeenCalled()预期的调用数:>=1收到的调用数:0 230 |};231 |功能启动(道具);>232 | expect(isSOP3Mock).toHaveBeenCalled()| ^233 | expect(道具、历史、推送)。not.tohavebeincall();234 | }); 235 | `什么是
期望(jest.fn()).toHaveBeenCalled()
?您不需要在
expect
中调用它。如果存储函数的变量已被调用,则在expect检查之前和中调用它。因为我想跟踪函数是否被调用,或者条件是否为真!