2017-07-27 60 views
0

我正在编写用angularJS指令编写的代码的jasmine单元测试用例。以下是代码:想要在angularjs代码中为addEventListener编写jasmine单元测试用例

document.getElementById(scope.elementID).addEventListener('focus', function(e) { 
    $rootScope.isGoogleLocationProgress = true; 
    // destinationReady = true; 
}); 
document.getElementById(scope.elementID).addEventListener('keydown', function(e) { 
    $rootScope.isGoogleLocationProgress = true; 
    // destinationReady = false; 
}); 
document.getElementById(scope.elementID).addEventListener('blur', function(e) { 
    $document.on('click', checkForClearClick); 

    function checkForClearClick(e) { 
     if (e.target) { 
      if (e.target.name != "clearSearch") { 
       $timeout(getLocationPrediction, 0); 
      } 
     } 
    } 
}); 

请帮我把它添加

+0

StackOverflow不是为您编写代码,而是关于如何帮助您编写代码。试试看,如果你需要的话,请阅读如何测试茉莉花/角度,如果你对自己写的东西有问题,请回来。有关如何编写好问题的更多建议,请参阅: https://stackoverflow.com/help/how-to-ask –

回答

0

只是为了你的听众使用的功能给一个名称,单元测试这些功能。

就是这样。

例子:

document.getElementById(scope.elementID).addEventListener('focus', function(e) { 
        $rootScope.isGoogleLocationProgress = true; 
       // destinationReady = true; 
       }); 

成为

var yourFunc = function(e) { 
    $rootScope.isGoogleLocationProgress = true; 
    // destinationReady = true 
}; 
document.getElementById(scope.elementID).addEventListener('focus', yourFunc); 

现在可以进行单元测试功能myFunc

+0

但在我的情况下,我无法编辑角码。因为它已经由另一位成员编写。我只需要为现有代码编写单元测试用例。你能否分享你的意见? –

+0

我很害怕你不能单元测试你不能调用的东西。 – sjahan

相关问题