Улучшить эту документацию 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
Модуль ngMock предоставляет поддержку для инъекции и имитации Angular-сервисов в модульных тестах. Кроме того, ngMock также расширяет различные основные сервисы ng таким образом, чтобы их можно было проверять и контролировать синхронным способом в коде тестов.
Компоненты модуля
Объект
| Имя | Описание |
|---|---|
| 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 |
ПРИМЕЧАНИЕ: эта функция также опубликована в окне для простоты доступа. |
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.5.11/docs/api/ngMock