参数'appCtrl'不是函数,未定义

时间:2014-06-29 23:47:42

标签: angularjs karma-runner karma-jasmine

我正在使用最新的Karma Angular.js单元测试。

我有一个错误:'参数'appCtrl'不是函数,未定义'。

appCtrl.js:

var app = angular.module('app', []);

app.controller('appCtrl', function ($scope) {
    $scope.count = 5;

    $scope.incrementCount = function() {
        $scope.count = $scope.count + 1;
    };

});

appCtrl.spec.js:

describe('Controller test', function(){

    var appCtrl, $scope;

    beforeEach(module('app'));

    beforeEach(inject(function($controller, $rootScope) {
        $scope = $rootScope.$new();
        appCtrl = $controller('appCtrl', {
            $scope: $scope
        });
    }));

    it('should have appCtrl controller toBeDefined', function() {
        expect(appCtrl).toBeDefined();
    });

    iit('should init counter value', function() {
        expect($scope.count).toBeDefined();
        expect($scope.count).toBe(5);

    });

    it('should change counter value', function() {
        $scope.incrementCount();
        expect($scope.count).toBe(6);
    });

});

我做错了什么?

1 个答案:

答案 0 :(得分:2)

确保您具有角度模拟依赖性,并且您还有一个拼写错误' itt'应该是'它'在应用初始计数器值。

希望这有帮助。