【发布时间】:2016-01-28 08:08:34
【问题描述】:
我正在测试具有父范围变量引用的控制器。但它给出了变量未定义的错误。
订阅(控制器)
var vm = this;
var userId=$scope.$parent.vm.userId;
var simId=$scope.$parent.vm.simId;
订阅规范(规范文件)
describe('subscription controller',function (){
var SubscriptionListCtrl,scope;
beforeEach(module('app'));
beforeEach(inject(function($controller,$compile,SubscriptionService,dataTableConfigService,commonUtilityService){
scope={};
scope.vm={};
SubscriptionListCtrl=$controller("SubscriptionListCtrl",{$scope:scope,$compile:$compile,SubscriptionService:SubscriptionService,dataTableConfigService:dataTableConfigService,commonUtilityService:commonUtilityService});
}));
});
业力茉莉花错误
TypeError: Cannot read property 'vm' of undefined
这是因为控制器声明
var userId=$scope.$parent.vm.userId;
另外,如果我将 $scope.$parent.vm.userId 替换为实际值,那么它不会给出任何错误。
这行的测试用例怎么写?
【问题讨论】:
标签: angularjs unit-testing jasmine karma-jasmine