异步服务调用的angularJS的未满足GET请求Jasmine

异步服务调用的angularJS的未满足GET请求Jasmine,angularjs,jasmine,Angularjs,Jasmine,当我运行我的jasmine测试用例时,收到未满足的GET请求错误消息。我正在尝试测试我的服务。 结构如下: describe('should test Static Quotes List functionality', function () { it('should check list of static quotes is not null', function () { //ARRANGE

当我运行我的jasmine测试用例时,收到未满足的GET请求错误消息。我正在尝试测试我的服务。 结构如下:

describe('should test Static Quotes List functionality', function () {

            it('should check list of static quotes is not null', function () {

                //ARRANGE 

                var url = CONFIG.autoApiBaseUrl + 'api/quotesconfig';

                httpBackend.expect('GET', url).respond(staticQuotesData);

                //ACT
                retrievequoteService.getStaticQuotes().then(function (data) {
                    //ASSERT
                    expect(data).not.toBeNull();
                    expect(data.length).toEqual(1);
                });

                setTimeout(function () {
                    httpBackend.flush();
                }, 100);

            });
        });
我的服务文件是:

  function getStaticQuotes() {
        var deferred = $q.defer();
        retrievequoteResource.getStaticQuotes().$promise.then(function (result) {
            deferred.resolve(result);
        });
        return deferred.promise;
    } 
你能帮我解决这个问题吗

谢谢。 萨耶什

我把它改成了

spyOn(retrievequoteResource, "getStaticQuotes").and.returnValue({ $promise: q.when(staticQuotesData) });

                //ACT

                var result;

                var promise = retrievequoteService.getStaticQuotes();
                promise.then(function (result) {
                    expect(result).not.toBeNull();
                    expect(result.length).toEqual(1);
                });

                $rootScope.$digest();

如果您提供了测试失败的详细信息,这将非常有帮助。此外,您似乎正在使用延迟反模式。您的服务应该只
返回retrievequoteResource.getStaticQuotes()。$promise谢谢你的回复。详细信息是:未满足的请求:GET/onlinesalesapp auto/api/QuoteConfig at Function.$httpBackend.verifyNoOutstandingExpectation()at Object。)我要做的第一件事是删除
setTimeout
。不知道为什么要在测试中使用它这里真正的问题是,您似乎在测试两件事情,而这不是单元测试的目的。如果您正在测试
retrievequoteService
,那么您应该模拟
retrievequoteResource