指令单元测试中的存根 angular 服务
Stub angular service in directive unit test
我有这样的指令:
app.directive('myDirective', ['my', function(myService){
return {
restrict: 'E',
scope: {
resourcePath: '='
},
priority: 999,
transclude: true,
template: '<ng-transclude ng-if="func()"></ng-transclude>',
link: function($scope){
$scope.func = function(){
return permissionsService.checkSomething(true);
};
}
};}]);
这是服务:
angular.module('services.my', []).service('my', ['$http', function myService($http) {
//public:
this.checkSomething = function (param) {
return param;
};}]);
如何存根 myService 并将其注入到指令依赖项中?
对于控制器,您自己创建控制器很容易。
对于指令依赖,您必须使用 $provide
覆盖默认实现并提供虚拟依赖
beforeEach(module(function ($provide) {
$provide.service('my', function () {
this.checkSomething= function() { };
});
}));
我有这样的指令:
app.directive('myDirective', ['my', function(myService){
return {
restrict: 'E',
scope: {
resourcePath: '='
},
priority: 999,
transclude: true,
template: '<ng-transclude ng-if="func()"></ng-transclude>',
link: function($scope){
$scope.func = function(){
return permissionsService.checkSomething(true);
};
}
};}]);
这是服务:
angular.module('services.my', []).service('my', ['$http', function myService($http) {
//public:
this.checkSomething = function (param) {
return param;
};}]);
如何存根 myService 并将其注入到指令依赖项中?
对于控制器,您自己创建控制器很容易。
对于指令依赖,您必须使用 $provide
覆盖默认实现并提供虚拟依赖
beforeEach(module(function ($provide) {
$provide.service('my', function () {
this.checkSomething= function() { };
});
}));