Javascript jasmine单元测试中未定义响应

Javascript jasmine单元测试中未定义响应,javascript,angular,unit-testing,typescript,jasmine,Javascript,Angular,Unit Testing,Typescript,Jasmine,测试用例 it('SaveVersionMainScreen', fakeAsync(() => { let response = comp.SaveVersionMainScreen();// return undefined instead of false fixture.detectChanges(); expect(response).toEqual(false); })); 这是我尝试测试的组件方法 SaveVersio

测试用例

it('SaveVersionMainScreen', fakeAsync(() => {
        let response = comp.SaveVersionMainScreen();// return undefined instead of false
        fixture.detectChanges();
        expect(response).toEqual(false);
    }));
这是我尝试测试的组件方法

SaveVersionMainScreen() {
        let element = this.commonValidation(true);// return null
        if (element) {            
            return false;
        }else{
          return true  
        }
     }
当我运行测试用例时,
this.commonValidation(true)
返回null。因此,if条件通过
true
,而
SaveVersionMainScreen()
返回
false
。但是在我的测试用例中,我得到了
未定义的


let response=comp.SaveVersionMainScreen();//响应未定义

我不知道原因。但当我在if&else语句的外侧使用returnin时,它就可以正常工作了

SaveVersionMainScreen() {
        let element = this.commonValidation(true);// return null
        if (element) {            
            return false;
        }else{
          return true  // here i have some logic's.
        }
       return true
     }