无法在Jasmine中调用控制器的功能

时间:2016-06-09 14:55:50

标签: javascript angularjs scope controller jasmine

'use strict';
define([], function () {

function myController($scope) {
    //Do something...
    };
}

myController.inject = ['$scope'];

return myController;

});

对于上面的控制器,我无法调用myController。请参阅下面的代码(jasmine)。

describe('myController', function() {
'use strict';

var controller, scope;

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

describe('sum', function () {
    it('1 + 1 should equal 2', function () {
        expect(scope.listingsBarController()).toBe(2);
    }); 
});
});

它表示undefined不是一个函数(在评估scope.listingsBarController时。

有什么问题?

1 个答案:

答案 0 :(得分:0)

你没有注射控制器。您需要稍微不同地注入控制器。在每个之前执行以下操作。

controller= $controller('myController', {$scope: scope});