【发布时间】:2015-02-02 11:42:20
【问题描述】:
这是我的角度控制器:-
angular.module('authoring-controllers', []).
controller('NavCtrl', function($scope, $location, BasketNavigationService) {
$scope.test= function() {
$scope.testVar = BasketNavigationService.showBasketList();
};
});
测试类
describe('NavCtrl', function() {
var scope, $location, createController;
beforeEach(inject(function ($rootScope, $controller, _$location_) {
$location = _$location_;
scope = $rootScope.$new();
createController = function() {
return $controller('NavCtrl', {
'$scope': scope
});
};
}));
it('should create $scope.testVar when calling test',
function() {
expect(scope.testVar).toBeUndefined();
scope.test();
expect(scope.testVar).toBeDefined();
});
});
运行该测试用例时出错:- scope.test() 未定义..
如果我从控制器中删除了 BasketNavigationService 功能,那么它就可以工作了..
请帮我解决那个业力测试用例。
【问题讨论】:
-
您在
expect(scope.testVar).toBedefined();中有错字,应该是expect(scope.testVar).toBeDefined();
标签: javascript angularjs unit-testing karma-jasmine