Unsatisifed GET请求带有angularJS的Jasmine用于异步服务调用

时间:2015-09-13 04:58:12

标签: angularjs jasmine

当我运行我的jasmine测试用例时,我收到Unsatisified 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;
    } 

请帮助我解决这个问题。

感谢。 Sajesh

1 个答案:

答案 0 :(得分:0)

我把它改成了

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