Автоматическое обнаружение отсутствующих импортов с помощью сервиса eslint
wdio-eslinter-service - это сторонний пакет, для получения дополнительной информации см. GitHub | npm
Случалось ли вам запускать тесты e2e, только чтобы узнать через 10, 15 или 30 минут, что был отсутствующий/неправильно написанный импорт, который не появился до середины тестового запуска? Когда это происходит, средство запуска тестов сообщает, что эти тесты повреждены.
eslint — отличный инструмент для обнаружения различных ошибок перед выполнением, и этот сервис запускает инструмент eslint до выполнения тестов WebdriverIO, как автоматический шаг вместо ручного.
Часто лучше потерпеть неудачу быстрее, чтобы мы могли решить проблемы раньше, а не позже.
Рекомендуемая конфигурация — использовать средство запуска unresolved для проверки отсутствующих импортов, но при желании вы также можете настроить сервис для запуска eslinter в вашем проекте с помощью npm или yarn, или передав флаг, который указывает системе также использовать вашу конфигурацию .eslintrc.
Установка
Установите wdio-eslinter-service:
$ npm i wdio-eslinter-service --save-dev
Быстрый старт - Проверка только на отсутствующие или неразрешенные импорты
По умолчанию, эта минимальная конфигурация, средство запуска "unresolved", проверяет неразрешенные импорты require и выдает ошибку, если обнаружены неразрешенные импорты. Затем сервис останавливает выполнение. Вы можете настроить .eslintrc.js для выполнения дополнительных проверок с помощью средств запуска "npm" или "yarn", если это необходимо. См. eslint для получения дополнительной информации.
Если у вас нет конфигурации .eslintrc.js в вашем проекте, то wdio-eslinter-service можно настроить на использование конфигурации по умолчанию, которая просто проверяет отсутствующие импорты перед запуском тестов. Это удобно, чтобы вы узнали о неправильных импортах раньше, а не позже. Для настройки этого добавьте следующую конфигурацию eslinter в ваш массив services (предполагая, что вы уже используете сервис chromedriver; в противном случае, опустите эту часть):
wdio.conf.js:
services: ['chromedriver', [
'eslinter',
{
runnerType: 'unresolved'
}
]],
На этом этапе начните запускать тесты, и если есть отсутствующий или неправильный импорт, WebdriverIO зарегистрирует его и немедленно прервет запуск теста:
$ npx wdio