Сначала отличите eviction kubelet от OOMKill контейнера и системного OOM. Корректные requests и limits не гарантируют отсутствие MemoryPressure: память нужна также ядру и системным процессам.
Requests позволяет отправить запрос, затем проверить статус и содержимое. В реальном ответе назовите собственный опыт; ниже — учебный пример для подготовленного тестового пользователя.
Опишите фактические расширения: fixtures, плагины pytest, общую Session или обёртку API-клиента над Requests. Настройка проекта обычно не означает изменение исходного кода самих библиотек.
Requests решает отправку HTTP, но стратегию определяют риски API: контракт, права, бизнес-эффект, ошибки, границы и повторные операции. Нужны управляемые данные, изоляция и воспроизводимый запуск.
Requests — привычный синхронный HTTP-клиент, а HTTPX предоставляет синхронный и асинхронный API и поддержку HTTP/2. Интерфейсы похожи, но миграция не всегда сводится к замене имени импорта.
Интеграционные тесты обычно требуют runner, клиентов БД и очередей, управления окружением, данных и отчётности; назовите только реальные компоненты своего проекта.
Requests даёт простой синхронный HTTP-клиент с sessions, cookies и удобной работой с JSON. Он не является тестовым runner и не обеспечивает assertions, отчёты и асинхронность сам по себе.
Подменяйте внешние зависимости для редких ошибок и детерминированных компонентных тестов, а API-стратегию стройте вокруг контрактов, рисков, данных и изоляции, не только библиотеки requests.
В конспекте следует использовать термины «ООП» и «наследование». Пример Dog/Cat показывает полиморфизм, а Git — отдельную тему, не принцип объектного подхода.
Тест скрыт постоянным skip и недостаточно надёжен: нужны timeout, проверка GET-статуса, согласованная авторизация, уникальные данные, очистка и ясный контракт идентификатора.
Сначала исправляют синтаксис, выполняют GET с timeout и проверяют статус; если JSON — список объектов, имена получают выражением [user['name'] for user in data].