2016-01-17 2 views
2

Я получаю ошибку ниже, когда я запускаю тесты, Error: Unexpected request: POST data/json/api.jsonОшибка: Неожиданный запрос: POST карма

it("should $watch value", function(){ 
     var request = '/data/json/api.json'; 
     $httpBackend.expectPOST(request).respond(200); 

     var iplScore = 10; 
     var controller = new controller(iplScore); 
     $scope.cricketScore = 0; 
     $scope.$digest(); 
     $scope.cricketScore = 1; 
     assert.equal(iplScore, 0); 
}); 

Ниже мой код контроллера:

$scope.$watch("cricketScore", function(newValue, oldValue) { 
    $scope.iplScore = oldValue; 
}); 

Может кто-нибудь помочь мне, почему я получаю вышеуказанную ошибку, хотя я высмеивал api через $httpBackend

+0

Не могли бы вы показать свой полный тест и как вы издевались над вызовами api? – alecxe

+0

@alecxe: больше нет кода .. вот как я издевался над моими звонками api – ShankarGuru

ответ

1

Вы не издевались ваших вызовов API. Поместите следующее в beforeEach():

beforeEach(function() { 
    $httpBackend.when('POST', '/data/json/api.json').respond(200, { 
     status: "success" 
    }); 
}); 
+0

Спасибо, я получаю сообщение об ошибке AssertionError: expected 10 to equal 0 ... is $ scope. $ Digest() не вызывает переменная cricketScore? – ShankarGuru

+1

@ShankarGuru Кажется, вам нужно вызывать '$ digest()' каждый раз, когда вы меняете переменную в области. Пожалуйста, ознакомьтесь с этой страницей блога, чтобы прояснить ситуацию: http://juristr.com/blog/2014/11/learning-ng-testing-watch-expressions/. Благодарю. – alecxe

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