Как настроить бэкэнд запроса e2e для транспортира
Я пытаюсь настроить свой независимый проект транспортира, чтобы высмеивать некоторые из моих внутренних запросов. Поэтому я включил angular-mocks.js
и прикрепил другой модуль в onPrepare()
функция моего protractor.conf.js:
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 ответ
Просто чтобы вы знали, как я это решил:
Документы говорят следующее:
Метод response принимает набор статических данных, которые должны быть возвращены, или функцию, которая может возвращать массив, содержащий статус ответа (число), данные ответа (строка), заголовки ответа (объект) и текст состояния (строка).
В моем случае объект заголовков почему-то не кажется необязательным, и я закончил с его установкой самостоятельно перед возвратом массива:
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];
});
})
})
У кого-нибудь есть подсказка, почему это необходимо или какой из его атрибутов устарел?