Angularjs angular mocha chai错误无待处理的刷新请求

Angularjs angular mocha chai错误无待处理的刷新请求,angularjs,mocha.js,sinon,Angularjs,Mocha.js,Sinon,我试图测试莫卡柴的工厂,但我得到了错误 “没有挂起的刷新请求”。 我还应用了$rootScope.$apply() 无法确定确切的问题是什么 var Config, factory , $httpBackend ,authRequestHandler, servicedata,$rootScope; beforeEach(function() { module('modulename'); inject(function($injector)

我试图测试莫卡柴的工厂,但我得到了错误

“没有挂起的刷新请求”。 我还应用了
$rootScope.$apply()

无法确定确切的问题是什么

var Config, factory , $httpBackend ,authRequestHandler, servicedata,$rootScope;

    beforeEach(function() { 
          module('modulename');
          inject(function($injector) {
                 Config = $injector.get('Config');
                 factory = $injector.get('factoryname');
                 $httpBackend = $injector.get('$httpBackend');
                 $rootScope = $injector.get('$rootScope');
                 servicedata = {id:'1',name:'john'};
    });

    it('should test factory data', function () {
      $httpBackend.whenGET('httpurl/sample/sample.data.json').respond(servicedata);
      var promise = factory.functionname(),serviceResponseData;
      promise.then(function (data) {
        serviceResponseData = data;
      });

      $rootScope.$digest();
      $httpBackend.flush();
      expect(serviceResponseData.name).to.equal('john');
    });
以下是工厂:

   angular.module('module').factory('factoryname', function ($http, $q) {
    var objectfactory;
    objectfactory = {};


    objectfactory.functionname = function() {
        var url = 'httpurl/sample/' + 'sample.data.json'  
        var deferred = $q.defer();
        $http.get(url)
            .success(function(data) {
                deferred.resolve(data);
            });
        return deferred.promise;
    };
    return objectfactory;
});

我也有同样的问题。也许这与objectFactory有关。。。