Spec-Zone.ru › Angular.js 1.7

Улучшить эту документацию 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 service.

$timeout

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

$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–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.7.8/docs/api/ngMock

Spec-Zone.ru

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