Улучшить эту документацию 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 |
Мок-реализация |
| $log |
Мок-реализация |
| $interval |
Мок-реализация сервиса $interval. |
| $animate |
Мок-реализация сервиса |
| $httpBackend |
Имитация HTTP-бекенда, подходящая для модульного тестирования приложений, использующих $http service. |
| $timeout |
Этот сервис — просто декоратор для сервиса $timeout, который добавляет методы «flush» и «verifyNoPendingTasks». |
| $controller |
Декоратор для |
| $componentController |
Сервис, который может использоваться для создания экземпляров контроллеров компонентов. Полезно для модульного тестирования. |
Тип
| Имя | Описание |
|---|---|
| angular.mock.TzDate |
ПРИМЕЧАНИЕ: это не инжектируемый экземпляр, а просто глобальный имитационный класс |
| $rootScope.Scope |
Scope тип, дополненный вспомогательными методами, полезными для тестирования. Эти методы автоматически доступны для любого экземпляра Scope при загрузке модуля |
Функция
| Имя | Описание |
|---|---|
| angular.mock.dump |
ПРИМЕЧАНИЕ: это не инжектируемый экземпляр, а просто глобальная функция. |
| angular.mock.module |
ПРИМЕЧАНИЕ: Эта функция также опубликована в окне для удобного доступа. |
| angular.mock.module.sharedInjector |
ПРИМЕЧАНИЕ: Эта функция объявлена ТОЛЬКО при выполнении тестов с jasmine или mocha |
| angular.mock.inject |
ПРИМЕЧАНИЕ: Эта функция также опубликована в окне для удобного доступа. |
| browserTrigger |
Это глобальная (window) функция, которая доступна только при включении модуля |
© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.6.9/docs/api/ngMock