2016-07-27 58 views
0

范围变量我试图建立噶单元测试,并在我的测试我想设置一个范围变量,这样我可以运行测试。我收到错误无法设置未定义的属性'expandedSeries'。AngularJS设置噶测试

以下是我的代码。我究竟做错了什么?

describe('FormController', function() { 
    beforeEach(module('userFormApp')); 
    var $controller; 
    var $rootScope; 

    beforeEach(inject(function (_$controller_, _$rootScope_) { 
    $controller = _$controller_; 
    $rootScope = _$rootScope_; 
    })); 

    describe('$scope.getImageSrc', function() { 
    var $scope, controller; 

    beforeEach(function() { 
     $scope = $rootScope.$new();   
     controller = $controller('FormController', { $scope: $scope}); 
    }); 

    $scope.expandedSeries = 1; 

    it('sets variables ', function() { 
     expect($scope).toBeDefined(); 
     expect($scope.expandedSeries).toBeDefined(); 
     expect($scope.expandedSeries).toEqual(1); 
    }); 
}); 

回答

1

实例化每个之前的变量,以便测试用例可以在启动时获取它。

describe('$scope.getImageSrc', function() { 
var $scope, controller; 

beforeEach(function() { 
    $scope = $rootScope.$new();   
    controller = $controller('FormController', { $scope: $scope}); 
$scope.expandedSeries = 1; 
}); 

    it('sets variables ', function() { 
    expect($scope).toBeDefined(); 
    expect($scope.expandedSeries).toBeDefined(); 
    expect($scope.expandedSeries).toEqual(1); 
}); 

});