我在执行某段代码的任何函数之外都具有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=')')