他の多くの人と同じように、AngularJS で同様の問題を抱えていると思います。以前のエラー メッセージ (テスト記述ブロック内からコントローラー関数を呼び出せなかった) を修正していたところ、新しいエラーが発生しました。
エラー: [ng:areq] 引数 'fooController' は関数ではありません。未定義です
他の投稿を読みましたが、まだ修正できません。
だから私のコントローラーは..
'use strict'; var app = angular.module('MyApp', ['MyAppControllers']); var appControllers = angular.module('MyAppControllers', []); appControllers.controller('fooController', ['$scope', function ($scope) { function foo(param) { alert("foo called"); } }]);
私のコントローラ仕様は..
'use strict'; describe('fooController', function () { var $scope, $controller; beforeEach(inject(function ($rootScope, $controller) { $scope = $rootScope.$new(); ctrl = $controller('fooController', { $scope: $scope }); })); it("should write foo called", function () { $scope.foo(); }); });
fooController は関数ではないと言い続けるのはなぜですか??
ありがとうございます。