为if-else条件编写测试用例,但得到未定义的错误

时间:2019-04-09 18:11:17

标签: angularjs unit-testing testing karma-jasmine testcase

我在执行某段代码的任何函数之外都具有if-else条件,我编写了相应的测试用例,但收到未定义变量的错误。 这分别是js代码和测试用例。

if(weburl.indexOf('?webUrl=') >= 0){
weburlParam = weburl.split('?');
walletService.getWalletStatus(weburlParam[1]).then(function(res){
    $scope.getWalletRes();
}, function(error){
    walletService.redirectToErrorPage();
});
} else {
walletService.getWalletStatus().then(function(res){
    $scope.getWalletRes();
}, function(error){
    walletService.redirectToErrorPage();
});

}

测试用例

var weburl = {
window:{
    location:{
        href: "xyz.com?a=b"
    }
}
}
console.log(window.location.href);
expect(weburl).toEqual('?weburl=');
expect(walletService.getWalletStatus).toHaveBeenCalled();
expect(walletService.getWalletStatus).toHaveBeenCalledWith(weburl);

错误:

TypeError: undefined is not a constructor (evaluating 'weburl.indexOf('?webUrl=')') 

0 个答案:

没有答案