单元测试 – 测试asynchrone功能会产生意外请求
发布时间:2020-12-17 17:19:41 所属栏目:安全 来源:网络整理
导读:单位测试: "use strict";var usersJSON = {};describe("mainT",function () { var ctrl,scope,httpBackend,locationMock,beforeEach(module("testK")); beforeEach(inject(function ($controller,$rootScope,$httpBackend,$location,$injector) { scope = $
单位测试:
"use strict"; var usersJSON = {}; describe("mainT",function () { var ctrl,scope,httpBackend,locationMock,beforeEach(module("testK")); beforeEach(inject(function ($controller,$rootScope,$httpBackend,$location,$injector) { scope = $rootScope.$new(); httpBackend = $httpBackend; locationMock = $location; var lUrl = "../solr/users/select?indent=true&wt=json",lRequestHandler = httpBackend.expect("GET",lUrl); lRequestHandler.respond(200,usersJSON); ctrl = $controller("mainT.controller.users",{ $scope: scope,$location: locationMock}); httpBackend.flush(); expect(scope.users).toBeDefined(); })); afterEach(function () { httpBackend.verifyNoOutstandingRequest(); httpBackend.verifyNoOutstandingExpectation(); }); describe("method test",function () { it('should test',function () { expect(true).toBeFalsy(); }); }); }); 控制器我正在测试(工作): $scope.search = function () { var lStart = 0,lLimit = privates.page * privates.limit; Search.get({ collection: "users",start: lStart,rows: lLimit) },function(records){ $scope.users= records.response.docs; }); }; 我认为发生了什么: 1.告知后端他将收到什么请求 但我总是得到以下错误: Error: Unexpected request: GET : ../solr/users/select?indent=true&wt=json 我不是很好地处理异步检索功能吗?该怎么做? 解决方法
在BeforeEach中,您应该使用httpBackend.when而不是httpBackend.expect.我不认为你的BeforeEach中应该有一个断言(expect),所以应该将它移到一个单独的it()块中.我也没有看到lRequestHandler的定义.默认情况下会发送200状态,因此不需要.您的httpBackend行应如下所示:
httpBackend.when("GET","/solr/users/select?indent=true&wt=json").respond({}); 那么你的测试应该是: describe("method test",function () { it('scope.user should be defined: ',function () { expect(scope.user).toEqual({}); }); }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 关于wp连接webservice的状态保持
- 一个接一个地连续执行Scala Futures
- 使用Global.Run编译Scala代码时出现MissingRequirementErro
- soap webservice和resetful api
- angularjs的$on、$emit、$broadcast
- unit-testing – 测试传出的Akka Actor消息
- 无法使用adb shell setprop更改Android设备上的时区
- AngularJS与Angular-ui-router和jQuery-File-Upload
- 从vim中删除光标到括号(等)的末尾
- unix – 如何检查AWK脚本中的变量值是空还是空?