2015-05-24 3 views
11

Попытки получить мою голову вокруг жасмина шпионов, это то, что мой тест выглядит следующим образом:ожидал шпиона, но получил неопределенный?

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

Мое модульное тестирование выглядит следующим образом:

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

    }) 

Я получаю эту ошибку прямо сейчас:

Error : Expected a spy , but got undefined. 

Предложения?

ответ

17

scope.pickCard() - результат метода. В вашем случае это undefined. При использовании spyOn вы должны написать:

expect(scope.pickCard).toHaveBeenCalled();

Смежные вопросы