我正在尝试使用$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');
}
我究竟做错了什么?
最佳答案
添加$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();
})