模块在angularjs+;茉莉花单元测试
模块定义为模块在angularjs+;茉莉花单元测试,angularjs,unit-testing,karma-jasmine,Angularjs,Unit Testing,Karma Jasmine,模块定义为 var $manage = angular.module('manage', [....]); 控制器定义为 $manage.line.events.controller('eventsController', [..., function(...){ $scope.page = "events"; }]); 我的简单单元测试用例是 describe('Module: manage', function() { beforeEach(module('manage'))
var $manage = angular.module('manage', [....]);
控制器定义为
$manage.line.events.controller('eventsController', [..., function(...){
$scope.page = "events";
}]);
我的简单单元测试用例是
describe('Module: manage', function() {
beforeEach(module('manage'));
var scope, ctrl, rootScope;
beforeEach(inject(function($rootScope, $controller) {
scope = $rootScope.$new();
ctrl = $controller('eventsController', {
$scope: scope
});
}));
it("test page", function () {
expect(scope.page).toEqual('events');
});
});
这里,我得到了一个错误,比如
由于…,无法实例化模块AMPLEMAGE。。。。管理不可用
我还集成了angular-mocks.js。尝试了这么多的可能性,但都不适合我
基本需求是
需要在测试用例中访问控制器/范围 先试试老式的方法;导入您的模块,然后导入angular.mock.module('manage')等,先看看这是否有效。不要查看scope.page,而是尝试ctrl.page。您已在karma conf文件中添加了所有依赖项,这些依赖项已添加到主appadded all dependencies中。仍然面临同样的问题,如“管理不可用”。@rrd,我尝试了以下案例。仍然是相同的expect(ctrl.toBeDefined();先试试老式的方法;导入您的模块,然后导入angular.mock.module('manage')等,先看看这是否有效。不要查看scope.page,而是尝试ctrl.page。您已在karma conf文件中添加了所有依赖项,这些依赖项已添加到主appadded all dependencies中。仍然面临同样的问题,如“管理不可用”。@rrd,我尝试了以下案例。仍然是相同的expect(ctrl.toBeDefined();