2016-07-06 16 views
0

Ich habe einen Test wie folgt aus ('$ scope.students.pay' Auswertung):undefiniert ist kein Objekt

it('calls the stuFun method', function() { 
    $scope.stuFun(); 
    expect($scope.stuFun).to 
      .have.been.calledOnce; 
    expect($scope.students.pay).to.not.equal(null); 
    assert.isNotTrue($scope.students.pay) 

}); 

Unten ist mein Controller-Funktion:

$scope.stuFun = function() { 
    $scope.students.pay = false; 
}; 

Warum ich bin immer die folgenden Fehler:

undefined is not an object (evaluating '$scope.students.pay') 

Antwort

1

Lösung angebracht ist unten:

it('calls the stuFun method', function() { 
    $scope.students = {}; 
    $scope.stuFun(); 

    expect($scope.stuFun).to 
      .have.been.calledOnce; 
    expect($scope.students.pay).to.not.equal(null); 
    assert.isNotTrue($scope.students.pay) 

}); 

Jetzt lauf es, es sollte funktionieren.

+0

Haben Sie eine Idee, wie man solchen Service zu verspotten ... http://stackoverflow.com/questions/38227705/undefined-is-not-an-object-in-angular-js-service – Shane