大佬教程收集整理的这篇文章主要介绍了单元测试AngularJS与$httpBackend给出“错误:意外请求”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我为我的测试设置了httpBackend的预期值/响应,但是当我运行httpBackend.flush()时,就好像我从未设置过期望.
测试代码:
describe('user register',function () { var scope,RegisterCtrl,httpBackend,userJohnDoe,userJohnDoeRegistered,Restangular; // TEST beforeEach(module('LR.User.Register')); describe('RegisterCtrl',function () { beforeEach(inject(function ($controller,_$httpBackend_,$rootScope,_Restangular_,$state) { scope = $rootScope.$new(); httpBackend = _$httpBackend_; Restangular = _Restangular_; // Models userJohnDoeRegistered = { "access_token": "YzEyZDhjNjBlY2EwMTMxMmQzZGIzYWY5NDY4OGYwMjMzMGVjNDU3MDVhY2U0YjJmNDc1ODI3NWU0ODkzZGNkMQ","expires_in": 7200,"token_type": "bearer","scope": null,"refresh_token": "MmFhMTQ5NzU4ODI5ZjE2Mjk3ZjNlYzEwYzJkMjc4M2NkZjY2MjVkMjIwNWQzODUxYWNiYzY3NzIyMzEwYzJhNg","user": { "username": "johndoe","email": "johndoe@test.net","id": 1,"first_name": "John","middle_name": "f","last_name": "Doe","created": "2013-09-04T10:46:10-0500","updated": "2013-09-04T10:46:10-0500" },"status": "success","status_code": 200,"status_text": "OK" }; userJohnDoe = { "email": "johndoe@test.net",password: 'test123X',passwordSecond: 'test123X',client_id: '1_3b5zgimwg4kkko4wksk4sw0o48040o8ws8og8kg4wsowwkc44s' }; httpBackend.whenPOST('/register',userJohnDoe).respond(userJohnDoeRegistered); RegisterCtrl = $controller('RegisterCtrl',{$scope: scope,$state: $state,Restangular: Restangular}); })); afterEach(function () { httpBackend.verifyNoOutstandingExpectation(); httpBackend.verifyNoOutstandingRequest(); }); it('should be able to register a fake user',inject(function () { var resolvedRegistration; var cb = function (response) { // Expect the userJohnDoe object resolvedRegistration = sanitizeRestangularOne(response); console.log(logTestHeader('REGISTRATION RESPONSE') + JSON.stringify(resolvedRegistration,null,' ')); }; // Set credentials scope.user = userJohnDoeCredentials; // Call login var register = scope.register_user().then(function() { cb(); }); scope.$digest(); httpBackend.flush(); expect(resolvedRegistration).toEqual(userJohnDoeRegistered); })); }); });
输出响应:
Chrome 29.0.1547 (Mac OS X 10.8.4) user register RegisterCtrl should be able to register a fake user Failed Error: Unexpected request: POST /register No more request expected at Error (<anonymous>) at $httpBackend (/Users/bobothefrofro/Development/lr-phoenix/phoenix-client/vendor/angular-mocks/angular-mocks.js:959:9) at y (/Users/bobothefrofro/Development/lr-phoenix/phoenix-client/vendor/angular/angular.min.js:64:282) at g (/Users/bobothefrofro/Development/lr-phoenix/phoenix-client/vendor/angular/angular.min.js:62:272) at r (/Users/bobothefrofro/Development/lr-phoenix/phoenix-client/vendor/angular/angular.min.js:96:140) at r (/Users/bobothefrofro/Development/lr-phoenix/phoenix-client/vendor/angular/angular.min.js:96:140) at /Users/bobothefrofro/Development/lr-phoenix/phoenix-client/vendor/angular/angular.min.js:97:293 at Object.g.$eval (/Users/bobothefrofro/Development/lr-phoenix/phoenix-client/vendor/angular/angular.min.js:104:502) at Object.g.$digest (/Users/bobothefrofro/Development/lr-phoenix/phoenix-client/vendor/angular/angular.min.js:102:419) at null.<anonymous> (/Users/bobothefrofro/Development/lr-phoenix/phoenix-client/src/app/user/register/register.spec.js:74:19) Error: Declaration Location at window.jasmine.window.inject.angular.mock.inject (/Users/bobothefrofro/Development/lr-phoenix/phoenix-client/vendor/angular-mocks/angular-mocks.js:1781:25) at null.<anonymous> (/Users/bobothefrofro/Development/lr-phoenix/phoenix-client/src/app/user/register/register.spec.js:57:54) at null.<anonymous> (/Users/bobothefrofro/Development/lr-phoenix/phoenix-client/src/app/user/register/register.spec.js:9:5) at /Users/bobothefrofro/Development/lr-phoenix/phoenix-client/src/app/user/register/register.spec.js:1:1
以上是大佬教程为你收集整理的单元测试AngularJS与$httpBackend给出“错误:意外请求”全部内容,希望文章能够帮你解决单元测试AngularJS与$httpBackend给出“错误:意外请求”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。