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中查看