0

他の多くの人と同じように、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 は関数ではないと言い続けるのはなぜですか??

ありがとうございます。

古い投稿を編集しました。一番下の投稿を読んでいただけますか (私の新しい質問ですか? :))

4

2 に答える 2