Spec-Zone.ru › Angular.js 1.6

Улучшить эту документацию 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', содержащее код, связанный с тестированием.

Провайдер

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

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

Сервис

Имя Описание
$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

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

Тип

Имя Описание
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.6.9/docs/api/ngMock

Spec-Zone.ru

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