Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 控制器作为语法给出错误的单元测试用例_Javascript_Angularjs_Unit Testing_Karma Runner_Karma Jasmine - Fatal编程技术网

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

Javascript 控制器作为语法给出错误的单元测试用例,javascript,angularjs,unit-testing,karma-runner,karma-jasmine,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', functio

我正在对控制器进行单元测试 利用业力

控制器的测试用例:

    '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");
        });
    });
});
我模拟了控制器所在的模块。 这里的预期代码给出了错误,因为预期未定义为“所有产品”。 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'))
})()


任何帮助都将不胜感激。

有什么错误?@manish希望未定义为“所有产品”。这只是意味着
ctrl.currentCategory
在模块js中未定义。您有“productController”,但在测试中您创建的是“productsController”。@PrinayPanday“productsController”是控制器的名称,您可以在controller.js中查看