Spec-Zone.ru › Angular.js 1.8

Улучшить эту документацию ngMock

Установка

Сначала загрузите файл:

  • Google CDN например "//ajax.googleapis.com/ajax/libs/angularjs/X.Y.Z/angular-mocks.js"
  • NPM например npm install angular-mocks@X.Y.Z
  • Yarn например yarn add angular-mocks@X.Y.Z
  • Bower например bower install angular-mocks#X.Y.Z
  • code.angularjs.org (не рекомендуется для использования в производстве) например "//code.angularjs.org/X.Y.Z/angular-mocks.js"

где X.Y.Z — версия AngularJS, которую вы используете.

Затем настройте свой инструмент для запуска тестов так, чтобы он загружал angular-mocks.js после angular.js. В этом примере используется Karma:

config.set({
  files: [
    'build/angular.js', // and other module files you need
    'build/angular-mocks.js',
    '<path/to/application/files>',
    '<path/to/spec/files>'
  ]
});

Включение файла angular-mocks.js автоматически добавляет модуль ngMock, поэтому ваши тесты готовы к работе!

Модуль ngMock предоставляет поддержку инъекции и имитации сервисов AngularJS в модульных тестах. Кроме того, ngMock также расширяет различные основные сервисы AngularJS таким образом, что их можно проверять и контролировать в синхронном режиме в коде тестов.

Компоненты модуля

Объект

Имя Описание
angular.mock

Пространство имён из 'angular-mocks.js', содержащее код, связанный с тестированием.

Сервис

Имя Описание
$flushPendingTasks

Очищает все текущие ожидающие задачи и выполняет соответствующие обратные вызовы.

$verifyNoPendingTasks

Проверяет, что нет ожидающих задач, которые необходимо очистить. Выбрасывает ошибку, если ожидающие задачи все еще остались.

$exceptionHandler

Имитация реализации $exceptionHandler, которая повторно выбрасывает или регистрирует ошибки, переданные ей. См. $exceptionHandlerProvider для информации о конфигурации.

$log

Имитация реализации $log, которая собирает все зарегистрированные сообщения в массивах (один массив на уровень регистрации). Эти массивы показаны как свойство logs каждого из функций регистрации на уровне, например, для уровня error массив показан как $log.error.logs

$interval

Имитация сервиса $interval.

$animate

Имитация сервиса $animate. Предоставляет две дополнительные методы для тестирования анимаций.

$httpBackend

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

$timeout

Этот сервис представляет собой простой декоратор для сервиса $timeout, который добавляет методы «очистки» и «проверки отсутствия ожидающих задач».

$controller

Декоратор для $controller с дополнительным параметром bindings, полезным при тестировании контроллеров директивы, использующие bindToController.

$componentController

Сервис, который может быть использован для создания экземпляров контроллеров компонентов. Полезен для модульного тестирования.

Провайдер

Имя Описание
$exceptionHandlerProvider

Настраивает имитацию реализации $exceptionHandler для повторного выброса или регистрации ошибок, переданных $exceptionHandler.

Тип

Имя Описание
angular.mock.TzDate

ПРИМЕЧАНИЕ: это не инжектируемый экземпляр, а просто глобальный имитационный класс Date

$rootScope.Scope

Scope тип, снабженный вспомогательными методами, полезными для тестирования. Эти методы автоматически доступны в любом экземпляре Scope, когда загружен модуль ngMock

Функция

Имя Описание
angular.mock.dump

ПРИМЕЧАНИЕ: это не инжектируемый экземпляр, а просто глобальная функция.

angular.mock.module

ПРИМЕЧАНИЕ: эта функция также опубликована в окне для простоты доступа.
ПРИМЕЧАНИЕ: эта функция объявлена ТОЛЬКО при выполнении тестов с jasmine или mocha

angular.mock.module.sharedInjector

ПРИМЕЧАНИЕ: эта функция объявлена ТОЛЬКО при выполнении тестов с jasmine или mocha

angular.mock.inject

ПРИМЕЧАНИЕ: эта функция также опубликована в окне для простоты доступа.
ПРИМЕЧАНИЕ: эта функция объявлена ТОЛЬКО при выполнении тестов с jasmine или mocha

browserTrigger

Это глобальная функция (window), доступная только при включении модуля ngMock.

© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
https://code.angularjs.org/1.8.2/docs/api/ngMock

Spec-Zone.ru

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