Karma忽略了角度的http get请求

时间:2014-03-12 10:03:27

标签: angularjs karma-runner

我正在使用Karma来测试角度指令中的函数。该函数执行正常,但其中的http.get请求似乎被忽略,而其他人抛出unexpected get错误。

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();
});

get请求位于登录功能中。

1 个答案:

答案 0 :(得分:0)

如果您可以向我们展示login()功能的外观,可能会有所帮助,但现在看起来您似乎没有正确使用$httpBackend

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

您应该在$httpBackend上设置预期,然后调用login()函数,然后在flush()上致电$httpBackend