2015-11-24 18 views
3

我嘗試建立我的獨立量角器項目模仿我的一些後端的請求。所以,我包括angular-mocks.js和連接我protractor.conf.jsonPrepare()功能中的另一個模塊如何設置端到端量角器後端請求嘲諷/磕碰

browser.addMockModule('httpBackend', function() { 
    angular.module('httpBackend', ['myApp', 'ngMockE2E']).run(function($httpBackend) { 
     $httpBackend.whenPOST(/^requests\/*/).respond(function(method, url, data) { 
      var obj = {"msg": "Response!"}; 
      return [200, JSON.stringify(obj), {}]; 
     }); 
    }) 
})  

這讓我攔截任何要求但我沒有得到我想要什麼回報在respond()。看來我只是得到了200 OK

我在做什麼錯?

回答

1

只是爲了讓你知道我是如何解決它:

文檔說以下內容:

respond方法將一組靜態數據要返回或功能,可以返回數組包含響應狀態(編號),響應數據(字符串),響應標題(Object)以及狀態文本(字符串)。

在我的情況下,頭對象不知何故似乎沒有是可選的,我回來了陣列之前把它放在我自己的結束:

browser.addMockModule('httpBackend', function() { 
    angular.module('httpBackend', ['myApp', 'ngMockE2E']).run(function($httpBackend) { 
     $httpBackend.whenPOST(/^requests\/*/).respond(function(method, url, data) { 
      var obj = {"msg": "Response!"}, 
       resHeader = { 
        "Cache-Control": "no-cache, no-store, max-age=0", 
        "Date": "Tue, 24 Nov 2015 17:08:57 GMT", 
        "Pragma": "no-cache", 
        "Transfer-Encoding": "chunked", 
        "Content-Type": "application/json; charset=UTF-8", 
        "Expires": "Thu, 01 Jan 1970 00:00:00 GMT", 
        "Access-Control-Allow-Origin": "*", 
        "Access-Control-Allow-Headers": "origin,x-requested-with,access-control-request-headers,content-type,access-control-request-method,accept", 
        "Access-Control-Allow-Methods": "POST, GET, OPTIONS, DELETE", 
        "Access-Control-Credentials": "true", 
        "Content-Language": "de-DE", 
        "Access-Control-Max-Age": "3600" 
       }; 
      return [200, JSON.stringify(obj), resHeader]; 
     }); 
    }) 
}) 

任何人有一個線索,爲什麼這是必要的還是它的哪些屬性已經過時?