Улучшить эту документацию 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 |
Имитация реализации |
| $log |
Имитация реализации |
| $interval |
Моковая реализация сервиса $interval. |
| $animate |
Моковая реализация сервиса |
| $httpBackend |
Реализация поддельного HTTP-бекенда, подходящая для модульного тестирования приложений, которые используют $http service. |
| $timeout |
Этот сервис представляет собой простую оболочку для $timeout сервиса, который добавляет методы «flush» и «verifyNoPendingTasks». |
| $controller |
Обёртка для |
| $componentController |
Сервис, который можно использовать для создания экземпляров контроллеров компонентов. Полезно для модульного тестирования. |
Провайдер
| Имя | Описание |
|---|---|
| $exceptionHandlerProvider |
Конфигурирует имитацию реализации |
Тип
| Имя | Описание |
|---|---|
| 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.7.8/docs/api/ngMock