pkozlowski-opensourceで回答されているように、コントローラーをモジュールの一部として登録できます。
縮小が必要な場合は、リスト内の実際の関数の前に変数名を指定することで、これを簡単に拡張できます。
angular.module('[module name]', []).
controller('PhoneListCtrl', ['$scope', function($scope) {
$scope.phones = [..];
$scope.orderProp = 'age';
}]);
これは、「縮小」後も同じように機能します。
angular.module('[module name]', []).
controller('PhoneListCtrl', ['$scope', function(s) {
s.phones = [..];
s.orderProp = 'age';
}]);
この表記法は、依存性注入の「インライン注釈」の下にあります。
モジュールの一部として登録されているコントローラーをテストするには、angular にコントローラーの作成を依頼する必要があります。例えば:
describe('PhoneListCtrl test', function() {
var scope;
var ctrl;
beforeEach(function() {
module('[module name]');
inject(function($rootScope, $controller) {
scope = $rootScope.$new();
ctrl = $controller('[module name]', {$scope: scope});
});
});
it('should be ordered by age', function() {
expect(scope.orderProp).toBe('age');
});
});
コントローラをテストするこの方法は、Understanding the Controller Component の「Testing Controllers」にあります。