我很努力從單元測試的指令中獲取控制器。這裏是我的角度應用:單元測試指令的控制器
angular.module('test-app', [])
.controller('loadingCtr', ['$scope', function ($scope) {
}])
.directive('loading', function() {
return {
restrict: 'E',
controller: 'loadingCtr'
};
});
這裏是我的單元測試代碼:
describe('loading', function() {
beforeEach(inject(function($rootScope, $compile) {
var fooElement = $compile('<loading></loading>')($rootScope);
var fooController = fooElement.controller('loading');
$rootScope.$digest();
console.log(fooController);
}));
describe('loading: testing loading directive', function() {
it('should create loading directive', function() {
});
});
});
這裏是一個plnkr更動:http://plnkr.co/edit/38cc5HQFgeHDhnC8OMo8?p=info
FooController的總是返回未定義。我用下面的例子,我在網上找到試過,但我總是得到相同的結果:
Unit testing a directive that defines a controller in AngularJS
有什麼明顯的在這裏,我很想念?