单元测试用控制器作为语法给出错误

时间:2017-04-10 10:10:48

标签: javascript angularjs unit-testing karma-runner karma-jasmine

我正在测试一个控制器 使用业力。

控制器的测试用例:

    'use strict';
fdescribe('products', function() {
    // load the controller's module
    var ctrl, scope;
    beforeEach(angular.mock.module('products'));
    beforeEach(function() {
        module('products', function($controllerProvider) {
            $controllerProvider.register('productsController', function($scope) {

            });
        });
    });

    describe('controller', function() {

        beforeEach(function() {
            angular.mock.inject(function($controller, $rootScope) {
                scope = $rootScope.$new();
                ctrl = $controller('productsController', {
                    $scope: scope
                });
            })
        });

        it('controller is set', function() {
            expect(ctrl.currentCategory).toBe("ALL_PRODUCTS");
        });
    });
});

我已经模拟了控制器所在的模块。 这里的预期代码给出错误,因为期望未定义为" ALL_PRODUCTS"。 controller.js:

(function() {
'use strict';
var productsController = function($rootScope, $scope) {
    var vm = this;
    vm.currentCategory = "ALL_PRODUCTS";

};

productsController.$inject = ['$rootScope', '$scope'];

module.exports = productsController;

})();

Module.js:

(function() {
'use strict';
module.exports = angular.module('products', ['common.services'])
    .controller('productController', require('./controller.js'))

})();

任何帮助都将不胜感激。

0 个答案:

没有答案