2014-03-12 190 views
0

我正在使用Karma在角度指令中測試函數。該函數執行正常,但其中的http.get請求似乎被忽略,其他人拋出unexpected get錯誤。Karma忽略角度http獲取請求

beforeEach(inject(function($injector, $compile, $rootScope){ 
    $gCompile = $compile; 
    $gScope = $rootScope; 
    $httpBackend = $injector.get('$httpBackend'); 
    $gHttp = $httpBackend; 
})); 

it("Should login to the UI", function() { 

    //Compile directive 
    var element = angular.element('<my-app></my-app>'); 
    $gCompile(element)($gScope); 

    //Reference it's local scope 
    var dirScope = element.scope(); 

    $gScope.$digest(); 
    dirScope.login(); 
}); 

獲取請求在登錄功能。

回答

0

如果您可以告訴我們login()函數是什麼樣子,可能會有所幫助,但現在看起來您沒有正確使用$httpBackend

看看http://docs.angularjs.org/api/ngMock/service/$httpBackend

您應該對$httpBackend設置期望值,然後致電login()函數,然後在$httpBackend上調用flush()

+0

謝謝,調用flush看起來已經做到了。 – user3310447