你如何测试角度的依赖注入?

时间:2013-06-21 07:41:27

标签: testing angularjs dependency-injection

我使用打字稿和角度。 所以例如在控制器中我有符号

A)

export function Controller($scope: Scope) {}
(<any>Controller).$inject = ['$scope'];

b)

export class Controller {
    constructor(private $scope) {} 
}
App.directive('someCoolDirective', function() {
return {
  restrict: 'E',
  etc...
  controller: <any[]>['$scope', SomeCoolDirective.Controller],
  etc...
};

});

c)

App.directive('someDirectives', <any[]>[ '$parse', '$rootScope', '$compile',     'userPermissions', function($parse, $rootScope, $compile, userPermissions) { }

d)

services...

如您所见,在缩小后有不同的方法来指定DI的依赖关系。 但我们只是人类,我倾向于忘记(控制器)。$ inject,或者我添加一些依赖并忘记添加数组。如果我没有指定它,它可以工作,直到缩小。比在颈部疼痛找到它。有时浏览器控制台甚至没有错误。

你知道一些工具,检查所有控制器,服务,指令并验证是否有正确的$ inject [&#39; $ scope&#39;,...等]符号?它匹配所有必需的依赖项?我想在构建服务器上自动化。

1 个答案:

答案 0 :(得分:0)

为什么不自行编写Typescript编译器并自行完成?然后将它发布到某个地方(例如Github),以便它可以用于像我这样的穷人;)