AngularJS茉莉花测试获取请求

前端之家收集整理的这篇文章主要介绍了AngularJS茉莉花测试获取请求前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个工厂来执行一个获取请求,我想测试.不幸的是业界测试告诉我,$httpBackend没有定义回应.

AngularJs 1.2.14,
茉莉2.0,
羯磨0.12.0

这是我要测试的模块:

  1. var appFactory = angular.module('appFactory',[]);
  2.  
  3. appFactory.factory('BoxListService',function($http){
  4. return{
  5. getList: function(){
  6. return $http.get('/Boxlist').then(function(result){
  7. return result.data;
  8. });
  9. }
  10. };
  11. });

我的测试是这样的:

  1. describe('Module-Test',function() {
  2.  
  3. beforeEach(module('appFactory'));
  4.  
  5. it('should call $http.get in getList',inject(function (BoxListService,$httpBackend){
  6. $httpBackend.expectGET('/Boxlist');
  7. BoxListService.getList();
  8. $httpBackend.flush();
  9. }));
  10. });

信息:

  1. Error: No response defined !
  2. at $httpBackend (D:/nodeJS/host/test_app/src/public/js/libs/angular/angular-mock.js:1206:13)
您必须定义预期响应以及预期请求.它将具有以下形式:
  1. $httpBackend.expectGET('/Boxlist').respond(HTTP_STATUS_CODE,EXPECTED_RESPONSE);

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

您只能定义其中之一.

查看ngMock httpBackend文档了解更多信息.

猜你在找的Angularjs相关文章