pytest: в тесте функции square десять почти одинаковых assert на разные пары вход-выход; падает первый — остальные не выполняются, полной картины не видно. Как переписать, чтобы каждый случай репортился отдельно?
Pythonmediummiddle
Проверяет знание Python и pandas для анализа данных.
pythonpytestparametrize
Варианты ответа
Вынести пары в fixture, возвращающую список, и пройти по нему циклом for внутри одного теста — pytest сам развернёт цикл
Повесить @pytest.mark.parametrize со списком пар (input, expected) — pytest сгенерирует отдельный тест на каждый case
Разбить руками на десять функций test_square_1..test_square_10 — других способов получить отдельные репорты в pytest нет
Обернуть каждый assert в try/except, копить ошибки в список и в конце поднять общий AssertionError со сводкой упавших
Как разобрать этот вопрос на собеседовании
Подумай, какая структура данных и какой инструмент pandas решают задачу с наименьшей сложностью: векторизация вместо циклов, groupby/merge вместо ручных склеек, корректная работа с NaN и типами. Интервьюер смотрит на читаемость кода и на то, понимаешь ли ты, что происходит «под капотом» — копия или вью, сложность операции, утечки памяти на больших данных.
На собеседовании по такому вопросу важно не только назвать ответ, но и кратко объяснить, почему он верный.
Тема вопроса — «Python». Чтобы подготовиться к похожим задачам, отрабатывай их на практике: python-тренажёр помогает довести навык до автоматизма, а раздел вопросов — увидеть формулировки, которые реально встречаются на интервью аналитика данных.
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
3000+ вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.