Angular httpBackend:没有待清除的待处理请求

时间:2014-05-28 21:25:38

标签: javascript angularjs unit-testing testing jasmine

我正在尝试使用$httpBackend来测试我的AngularJS应用程序。但是,它一直告诉我,我没有待处理的请求。

这是测试:

it('should attempt to get boards from server', function() {
    httpBackend.when('GET', rootScope.serverRoot + '/boards').respond({id: 1});

    var boards;
    BoardServiceInstance.getBoards().then(function(data) {
        boards = data;
    });

    httpBackend.flush();

})

服务:

this.getBoards = function() {
    return $http.get($rootScope.serverRoot + '/boards');
}

我做错了什么?

1 个答案:

答案 0 :(得分:1)

添加$rootScope.$digest();就可以了。

这是最终的代码:

it('should attempt to get boards from server', function() {
    $httpBackend.when('GET', '/boards').respond({id: 1});

    var boards;
    mockBoardService.getBoards().then(function(data) {
        boards = data;
    });

    $rootScope.$digest();

    $httpBackend.flush();

})