Skip to content

Latest commit

 

History

History
103 lines (67 loc) · 6.81 KB

watch-mode.md

File metadata and controls

103 lines (67 loc) · 6.81 KB

Примечание от переводчика

Здесь содержится перевод файла watch-mode.md. Если при нажатии на ссылку, содержащую последние правки в master ветке AVA, Вы не можете найти файл watch-mode.md, то можете считать что перевод актуален.


Режим наблюдения

Translations: Français, Italiano, Русский

В AVA включен интеллектуальный режим наблюдения. Режим наблюдения отслеживает все изменения в файлах и запускает необходимые тесты.

Запуск тестов с включенным режимом наблюдения

Вы можете включить режим наблюдения, используя --watch или -w флаги. Если AVA установлена глобально:

$ ava --watch

Или произвести настройку в Вашем package.json файле:

{
  "scripts": {
    "test": "ava"
  }
}

Запуск:

$ npm test -- --watch

Вы также можете сделать отдельный скрипт:

{
  "scripts": {
    "test": "ava",
    "test:watch": "ava --watch"
  }
}

И затем использовать его:

$ npm run test:watch

Требования

AVA использует chokidar для отслеживания изменений в файлах. Модуль chokidar установлен как опциональная зависимость, так как иногда он не может быть установлен на некоторых платформах. Режим наблюдения недоступен если chokidar не установлен. В этом случае Вы увидите подобное сообщение:

The optional dependency chokidar failed to install and is required for --watch. Chokidar is likely not supported on your platform.

Please refer to the Пожалуйста обратитесь к документации chokidar для решения проблемы с установкой.

Исходные файлы и файлы тестов

В AVA есть разница между исходными файлами и файлами тестов. Как Вы можете себе представить файлы тестов содержат Ваши тесты. Исходные файлы все, что необходимо для запуска Ваших тестов, они могут содержать либо исходный код, либо тестовые сборки.

По умолчанию, AVA отслеживает изменения тестовых файлов, package.json, и любых других .js файлов. Файлы в определенных каталогах будут проигнорированы, модуль ignore-by-default содержит список игнорируемых директорий.

Вы можете задать образцы для исходных файлов, используя [--source CLI флаг] или добавив их в секцию ava Вашего package.json файла. Обратите внимание, что если Вы указывает шаблон с исключением каталогов, то директории из ignore-by-default больше не будут игнорироваться, так что, Вам необходимо будет добавить их вручную.

Если Ваши тесты записывают данные на диск, то режим наблюдения может вызвать повторный запуск тестов. Если это произошло, Вам необходимо использовать --source флаг.

Отслеживание зависимостей

AVA отслеживает от каких исходных файлов зависят Ваши тесты. Если Вы измените исходный файл, то будет вызван соответствующий тест. AVA произведет запуск всех тестов, если не получится определить какой тестовый файл зависит от измененного исходного файла.

Отслеживание зависимостей также работает для импортируемых модулей. Кастомные расширения и траспиллеры поддерживаются только через [--require CLI флаг], а не изнутри Ваших тестовых файлов. Файлы, к которым обращаются через модуль fs не отслеживаются.

Перезапуск тестов вручную

Вы можете перезапустить все тесты, набрав r в терминале, и нажав Enter.

Отладка

Иногда режим наблюдения может вести себя странно, например, перезапустить все тесты, хотя Вы ожидали запуск лишь одного. Для того, чтобы понять почему - воспользуйтесь режимом отладки:

$ DEBUG=ava:watcher npm test -- --watch

Для Windows используйте:

$ set DEBUG=ava:watcher
$ npm test -- --watch

Помогите нам сделать режим наблюдения лучше

Режим наблюдения является достаточно новым и может содержать ошибки, работать некорректно и так далее. Пожалуйста, сообщайте о любых проблемах, с которыми пришлось столкнуться. Спасибо!