您将如何测试此角度测试指令?
$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 :(得分:0)
所以看起来你直接使用jQuery会让它成为模拟的问题。
你应该做的是使用 angular.element ,如果它存在,它将在幕后自动使用jQuery。
然后在您的测试指令中,您通常会使用间谍:
spyOn(元素,'')。
有几种spyOn方法,用于返回固定值或调用伪函数。看一下间谍的茉莉花文档:
http://jasmine.github.io/2.0/introduction.html#section-Spies