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-тесты дают уверенность перед релизом, но только если они изолированы от реальных заказов, платежей и клиентов.