2016-02-29 148 views
2

我有一个角度应用程序,在初始化时,请求一些http请求。多个意外请求:GET

我已经建立了一个试验,预计第一批请求,第二,

describe("MyController--", function() { 

    var controller, scope, $httpBackend, myFactory; 

    var iResponse = { 
     table: 'red', 
     price: '1.99' 
    }; 

    beforeEach(angular.mock.module('myApp')); 

    beforeEach(inject(function (_$controller_, _$rootScope_, _$httpBackend_, _myFactory_) { 
     scope = _$rootScope_.$new(); 
     $httpBackend = _$httpBackend_; 

     $httpBackend.expectGET("/app/shopping/cart/layout.html").respond({}); 
     $httpBackend.expectGET("/app/rest/products").respond(iResponse); 

     myFactory = _myFactory_; 
     spyOn(myFactory, 'getData').and.callThrough(); 

     controller = _$controller_('MainController', {$scope: scope}); 
     scope.$apply(); 
     $httpBackend.flush(); 
    })); 

    it('should verify that the controller exists ', function() { 
     expect(controller).toBeDefined(); 
    }); 

通过上述,我把看到的错误:

Error: Unexpected request: GET /app/rest/products 
Information: Expected GET /app/shopping/cart/layout.html 

任何想法我是什么失踪?

+0

是它使得两次调用API?如果是这样,你需要对每个人的呼叫有一个期望。如果你不想为每一个ca做一个期望 – danday74

回答

0

首先,我会预装在因果报应的conf HTML,这样你们就不必指望HTML

其次贵控制器做出意想不到的URL电话?如果你还是你shud预期请求

所有最优秀的

+0

控制器打电话给/ products ...对.html文件的调用来自我的路由器通过templateUrl –

+0

你是否对产品进行多次调用?如果是这样你需要一个期望得到每个电话。如果你不想要这个,那就用whenget – danday74

相关问题