E2E-тесты должны проверять сценарии, а не создавать реальные заказы, списания, уведомления и обращения менеджерам.
Если тесты попадают в продакшен, они загрязняют аналитику, путают склад и могут отправить реальные письма клиентам или сотрудникам.
Коротко: тесты должны работать в отдельном окружении или иметь жесткую защиту от реальных внешних действий.Почему это происходит
Проблема возникает из-за одинаковых URL, секретов и API-ключей в тесте и продакшене, отсутствия sandbox, ручного запуска тестов против боевого домена или слабой маркировки тестовых заказов.
Что проверить сначала
- какой baseUrl используют тесты
- какие API-ключи доступны в CI
- есть ли sandbox платежей
- как маркируются тестовые данные
- может ли тест отправлять реальные письма
Как я решаю такую задачу
Я отделяю тестовые сценарии от реальных систем и добавляю технические предохранители.
- проверяю конфигурацию тестов
- развожу переменные окружения
- настраиваю sandbox внешних сервисов
- добавляю запреты на production URL
- проверяю очистку и маркировку тестовых данных
Что подготовить
- репозиторий с тестами
- CI/CD workflow
- какие реальные заказы были созданы
- список внешних сервисов
- тестовый домен или staging
Каким должен быть результат
E2E-тесты должны проверять полный путь пользователя, но не создавать реальные коммерческие последствия в продакшене.
Чего лучше не делать
Не храните production-секреты в окружении, где запускаются обычные тесты. Это прямой путь к случайным действиям.
FAQ
Можно ли тестировать оплату?
Да, через sandbox платежной системы или специальные тестовые карты.
Нужно ли чистить данные после тестов?
Да, если тесты пишут в базу окружения.
Как запретить production URL?
Добавить проверку окружения и fail-fast при опасном домене.
Можно ли запускать smoke-тесты на проде?
Можно, но они должны быть read-only или использовать безопасные тестовые сценарии.
Нужна похожая задача?
Напишите в Telegram @rabotator_support или оставьте заявку на сайте. Коротко опишите проблему, приложите ссылку или пример ошибки, и я скажу, как безопасно подойти к исправлению.
Итог
Хорошие E2E-тесты дают уверенность перед релизом, но только если они изолированы от реальных заказов, платежей и клиентов.