Spec-Zone.ru › Angular.js 1.4

Улучшить эту документацию Просмотреть исходный код $httpBackend

  1. Сервис в модуле ngMockE2E

Реализация фиктивного HTTP-бекенда, подходящая для тестирования «от края до края» или разработки приложений без бэкенда, использующих сервис $http.

Примечание: Для реализации фиктивного HTTP-бекенда, подходящей для юнит-тестирования, см. модель $httpBackend для юнит-тестирования.

Данная реализация может быть использована для ответа статическими или динамическими ответами через API when и его сокращения (whenGET, whenPOST, и т. д.) и необязательно пропускать запросы в реальный $httpBackend для определённых запросов (например, для взаимодействия с определёнными удалёнными API или для получения шаблонов с веб-сервера).

В отличие от юнит-тестирования, в сценарии тестирования «от края до края» или в сценарии, когда приложение разрабатывается с заменой реального API на макет, часто желательно, чтобы определённая категория запросов опускала макет и отправляла реальный HTTP-запрос (например, для получения шаблонов или статических файлов с веб-сервера). Для настройки бэкенда с таким поведением используйте обработчик запросов passThrough модуля when вместо respond.

Кроме того, нам не нужно вручную сбрасывать запросы, имитированные с помощью макета, как мы делаем при юнит-тестировании. По этой причине e2e $httpBackend автоматически сбрасывает имитированные запросы, точно имитируя поведение объекта XMLHttpRequest.

Для настройки приложения для работы с этим HTTP-бекендом, необходимо создать модуль, который зависит от ngMockE2E и ваших прикладных модулей и определяет фиктивный бэкенд:

myAppDev = angular.module('myAppDev', ['myApp', 'ngMockE2E']);
myAppDev.run(function($httpBackend) {
  phones = [{name: 'phone1'}, {name: 'phone2'}];

  // returns the current list of phones
  $httpBackend.whenGET('/phones').respond(phones);

  // adds a new phone to the phones array
  $httpBackend.whenPOST('/phones').respond(function(method, url, data) {
    var phone = angular.fromJson(data);
    phones.push(phone);
    return [200, phone, {}];
  });
  $httpBackend.whenGET(/^\/templates\//).passThrough();
  //...
});

После этого инициализируйте ваше приложение с этим новым модулем.

Методы

  • when(method, url, [data], [headers]);

    Создает новое определение бэкенда.

    Параметры

    Параметр Тип Подробности
    method string

    HTTP метод.

    url stringRegExpfunction(string)

    HTTP url или функция, которая получает url и возвращает true, если url соответствует текущему определению.

    data
    (необязательно)
    stringRegExp

    Тело HTTP запроса.

    headers
    (необязательно)
    Objectfunction(Object)

    HTTP заголовки или функция, которая получает объект http заголовка и возвращает true, если заголовки соответствуют текущему определению.

    Возвращаемое значение

    requestHandler

    Возвращает объект с методами respond и passThrough, которые управляют тем, как обрабатывается соответствующий запрос. Вы можете сохранить этот объект для последующего использования и повторно вызвать respond или passThrough, чтобы изменить способ обработки соответствующего запроса.

    • respond – {function([status,] data[, headers, statusText]) | function(function(method, url, data, headers)} – Метод respond принимает набор статических данных, которые нужно вернуть, или функцию, которая может вернуть массив, содержащий код состояния ответа (число), данные ответа (строка), заголовки ответа (объект) и текст для кода состояния (строка).
    • passThrough – {function()} – Любой запрос, соответствующий определению бэкенда с обработчиком passThrough, будет передан на реальный бэкенд (будет сделан запрос XHR к серверу.)
    • Оба метода возвращают объект requestHandler для возможных перезаписей.
  • whenGET(url, [headers]);

    Создает новое определение бэкенда для запросов GET. Для получения дополнительной информации см. when().

    Параметры

    Параметр Тип Подробности
    url stringRegExpfunction(string)

    HTTP url или функция, которая получает url и возвращает true, если url соответствует текущему определению.

    headers
    (необязательно)
    Objectfunction(Object)

    HTTP заголовки.

    Возвращаемое значение

    requestHandler

    Возвращает объект с методами respond и passThrough, которые управляют тем, как обрабатывается соответствующий запрос. Вы можете сохранить этот объект для последующего использования и повторно вызвать respond или passThrough, чтобы изменить способ обработки соответствующего запроса.

  • whenHEAD(url, [headers]);

    Создает новое определение бэкенда для запросов HEAD. Для получения дополнительной информации см. when().

    Параметры

    Параметр Тип Подробности
    url stringRegExpfunction(string)

    HTTP url или функция, которая получает url и возвращает true, если url соответствует текущему определению.

    headers
    (необязательно)
    Objectfunction(Object)

    HTTP заголовки.

    Возвращаемое значение

    requestHandler

    Возвращает объект с методами respond и passThrough, которые управляют тем, как обрабатывается соответствующий запрос. Вы можете сохранить этот объект для последующего использования и повторно вызвать respond или passThrough, чтобы изменить способ обработки соответствующего запроса.

  • whenDELETE(url, [headers]);

    Создает новое определение бэкенда для запросов DELETE. Для получения дополнительной информации см. when().

    Параметры

    Параметр Тип Подробности
    url stringRegExpfunction(string)

    HTTP url или функция, которая получает url и возвращает true, если url соответствует текущему определению.

    headers
    (необязательно)
    Objectfunction(Object)

    HTTP заголовки.

    Возвращаемое значение

    requestHandler

    Возвращает объект с методами respond и passThrough, которые управляют тем, как обрабатывается соответствующий запрос. Вы можете сохранить этот объект для последующего использования и повторно вызвать respond или passThrough, чтобы изменить способ обработки соответствующего запроса.

  • whenPOST(url, [data], [headers]);

    Создает новое определение бэкенда для запросов POST. Для получения дополнительной информации см. when().

    Параметры

    Параметр Тип Подробности
    url stringRegExpfunction(string)

    HTTP url или функция, которая получает url и возвращает true, если url соответствует текущему определению.

    data
    (необязательно)
    stringRegExp

    Тело HTTP запроса.

    headers
    (необязательно)
    Objectfunction(Object)

    HTTP заголовки.

    Возвращаемое значение

    requestHandler

    Возвращает объект с методами respond и passThrough, которые управляют тем, как обрабатывается соответствующий запрос. Вы можете сохранить этот объект для последующего использования и повторно вызвать respond или passThrough, чтобы изменить способ обработки соответствующего запроса.

  • whenPUT(url, [data], [headers]);

    Создает новое определение бэкенда для запросов PUT. Для получения дополнительной информации см. when().

    Параметры

    Параметр Тип Подробности
    url stringRegExpfunction(string)

    HTTP url или функция, которая получает url и возвращает true, если url соответствует текущему определению.

    data
    (необязательно)
    stringRegExp

    Тело HTTP запроса.

    headers
    (необязательно)
    Objectfunction(Object)

    HTTP заголовки.

    Возвращаемое значение

    requestHandler

    Возвращает объект с методами respond и passThrough, которые управляют тем, как обрабатывается соответствующий запрос. Вы можете сохранить этот объект для последующего использования и повторно вызвать respond или passThrough, чтобы изменить способ обработки соответствующего запроса.

  • whenPATCH(url, [data], [headers]);

    Создает новое определение бэкенда для запросов PATCH. Для получения дополнительной информации см. when().

    Параметры

    Параметр Тип Подробности
    url stringRegExpfunction(string)

    HTTP url или функция, которая получает url и возвращает true, если url соответствует текущему определению.

    data
    (необязательно)
    stringRegExp

    Тело HTTP запроса.

    headers
    (необязательно)
    Objectfunction(Object)

    HTTP заголовки.

    Возвращаемое значение

    requestHandler

    Возвращает объект с методами respond и passThrough, которые управляют тем, как обрабатывается соответствующий запрос. Вы можете сохранить этот объект для последующего использования и повторно вызвать respond или passThrough, чтобы изменить способ обработки соответствующего запроса.

  • whenJSONP(url);

    Создает новое определение бэкенда для запросов JSONP. Для получения дополнительной информации см. when().

    Параметры

    Параметр Тип Подробности
    url stringRegExpfunction(string)

    HTTP url или функция, которая получает url и возвращает true, если url соответствует текущему определению.

    Возвращаемое значение

    requestHandler

    Возвращает объект с методами respond и passThrough, которые управляют тем, как обрабатывается соответствующий запрос. Вы можете сохранить этот объект для последующего использования и повторно вызвать respond или passThrough, чтобы изменить способ обработки соответствующего запроса.

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.4.14/docs/api/ngMockE2E/service/$httpBackend

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API