Что такое стартап файл (startup file) и что в нем происходит
Что проверяют
Понимаете ли вы, где у прогона тестов точка входа и что в ней допустимо держать. Термин неоднозначен, поэтому первое, что оценивают, это уточняющий вопрос: речь о файле инициализации приложения, о профиле окружения или о глобальном старте тестового фреймворка.
Как отвечать
Начните с общего: стартовый файл это единая точка, которая выполняется раньше полезной работы и готовит среду. В тестировании эту роль играет conftest.py в pytest, глобальные хуки в Cucumber, globalSetup в Playwright и Jest, классы уровня набора в JUnit и TestNG. У приложения под тестом это точка входа, где собирается контейнер зависимостей, читается конфигурация, поднимается подключение к базе и включается логирование. В окружении это профиль оболочки, задающий переменные, которые увидит запускаемый процесс.
Что уместно держать в такой точке: чтение настроек и секретов из переменных окружения, выбор стенда, создание клиента API или драйвера браузера, общие фикстуры, настройка логов и отчёта, регистрация корректного завершения.
Дальше покажите, что думаете о цене. Код здесь выполняется для всего прогона, и его падение красит в красное каждый тест, а не один. Значит он должен быть коротким, идемпотентным и громко сообщать причину отказа, иначе разбор сборки превращается в гадание.
Где спотыкаются
Складывают туда подготовку данных для конкретных проверок. Тесты начинают зависеть друг от друга и от порядка запуска, параллельный прогон ломается, а поиск причины падения превращается в чтение всего файла целиком.
Прописывают адреса стендов и учётные записи прямо в коде инициализации. Смена окружения превращается в правку исходников, а секреты уезжают в репозиторий вместе с обычным коммитом и живут там в истории.
Забывают про уборку. Драйверы, временные файлы и подключения остаются после прогона, на агенте копятся процессы и занятые порты, и следующая сборка падает по причине, не связанной с продуктом.