2015-02-09 80 views
0

你会如何测试这个角度测试指令?测试一个角度js指令?

$scope.cancel = function() { 
      $('#pp_bsktexit').modal('show'); 
}; 

这样的事情,我可以测试,它似乎并没有太:

VAR nextScreenPath = 'C_HIST';

$scope.goBack = function() {     
      //sessionService.save($scope.sessionData);    
      $location.path(nextScreenPath); 
} 

和测试:

it('should return location path as nextScreenPath', function(){ 
      var nextScreenPath = 'C_HIST'; 
      expect($location.path()).toEqual(''); 
      scope.goBack(); 
      expect($location.path()).toEqual('/' + nextScreenPath); 

}); 

,但我不能完全转移逻辑/知识测试原始查询。任何人有任何想法?我需要嘲笑一些东西吗?

回答

0

所以它似乎是你直接使用jQuery,这使得嘲笑有问题。

你应该做的是改用angular.element,如果它存在,它会在后台自动使用jQuery。

然后在您的测试指令,你会一般使用间谍:

spyOn(元素, '')。

有几个spyOn方法,用于返回固定值或调用伪造函数。看看间谍的茉莉花文档:

http://jasmine.github.io/2.0/introduction.html#section-Spies