AngularJS Jasmine测试get-request

 不雅cf居 发布于 2023-01-18 13:01

我有一个工厂来执行get请求,我想测试一下.不幸的是,业力测试告诉我$ httpBackend没有定义响应.

AngularJs 1.2.14,Jasmine 2.0,Karma 0.12.0

这是我要测试的模块:

var appFactory = angular.module('appFactory', []);

appFactory.factory('boxListService', function($http){
    return{
        getList: function(){
            return $http.get('/boxlist').then(function(result){
                return result.data;
            });
        }
    };
});

我的测试是这样的:

describe('Module-Test', function() {

    beforeEach(module('appFactory'));

     it('should call $http.get in getList', inject(function (boxListService, $httpBackend){
        $httpBackend.expectGET('/boxlist');
        boxListService.getList();
        $httpBackend.flush();
      }));
});

信息:

Error: No response defined !
at $httpBackend (D:/nodeJS/host/test_app/src/public/js/libs/angular/angular-mock.js:1206:13)

Pascal Le Me.. 25

您必须定义预期响应以及预期请求.它将具有以下形式:

$httpBackend.expectGET('/boxlist').respond(HTTP_STATUS_CODE, EXPECTED_RESPONSE);

HTTP_STATUS_CODE是一个整数.EXPECTED_RESPONSE是要返回的值(通常是Object Literal).

您可以只定义其中一个.

有关更多信息,请查看ngMock httpBackend文档.

1 个回答
  • 您必须定义预期响应以及预期请求.它将具有以下形式:

    $httpBackend.expectGET('/boxlist').respond(HTTP_STATUS_CODE, EXPECTED_RESPONSE);
    

    HTTP_STATUS_CODE是一个整数.EXPECTED_RESPONSE是要返回的值(通常是Object Literal).

    您可以只定义其中一个.

    有关更多信息,请查看ngMock httpBackend文档.

    2023-01-18 13:03 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有