2015-05-24 12 views
11

Cercando di ottenere la mia testa intorno spie di gelsomino, questo è quello che sembra il mio test come:si aspettava una spia ma non è stata definita?

$scope.switchTurns = function() { 
    $scope.playerTurn = !$scope.playerTurn; 
    console.log($scope.centrePileCards.length); 
    if ($scope.playerTurn == 1) { 
     $scope.pickCard(); 
    } 
    } 

Il mio test di unità si presenta così:

it('should pick one card',function(){ 
    var controller = createController(); 
    spyOn(scope,'pickCard') 
    scope.switchTurns(); 
    scope.playerTurn=1; 
    expect(scope.pickCard()).toHaveBeenCalled(); 

    }) 

sto ottenendo questo errore ora:

Error : Expected a spy , but got undefined. 

suggerimenti?

risposta

17

scope.pickCard() è il risultato del metodo. Nel tuo caso è undefined. Quando si utilizza spyOn si dovrebbe scrivere:

expect(scope.pickCard).toHaveBeenCalled();

Problemi correlati