🐍 Python  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Сложный  · 

Тестирование кода на Python

Разбирает pytest, фикстуры, параметризацию, подмены и границы полезного покрытия. Задания предлагают тестовые сценарии, в которых нужно найти источник нестабильности, выбрать наблюдаемую границу проверки и не связать тест с лишними деталями реализации. Все задания рассчитаны на CPython 3.12; отличия других реализаций или версий учитываются только там, где это прямо оговорено.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Версия: CPython 3.12. Выберите один ответ из четырёх. На 20 вопросов отведено не меньше 40 минут; оценивайте изоляцию, воспроизводимость и то, какое поведение действительно проверяет тест. После завершения вы увидите общий процент, четыре тематические шкалы и объяснение каждого ответа.
Вопрос 1 из 20
Как выглядит ясная структура теста?
Вопрос 2 из 20
Фикстура pytest открывает ресурс до `yield`, а закрывает после него. Что произойдёт, если тест завершится исключением?
Вопрос 3 из 20
Что даст parametrize?
Вопрос 4 из 20
Где патчить зависимость?
Вопрос 5 из 20
Почему тест не должен зависеть от порядка запуска?
Вопрос 6 из 20
Что проверяет `pytest.raises(ExpectedError, match="...")`?
Вопрос 7 из 20
Фикстура уровня `session` возвращает изменяемый объект, который правят тесты. Чем опасен этот граничный сценарий?
Вопрос 8 из 20
Что даст tmp_path?
Вопрос 9 из 20
Почему проверка только `mock.called` слабее проверки результата?
Вопрос 10 из 20
Что даёт autospec?
Вопрос 11 из 20
У модуля уже есть unit-тесты с подменами. Какое проектное решение проверит реальное взаимодействие на границе системы?
Вопрос 12 из 20
Что делает monkeypatch?
Вопрос 13 из 20
Почему 100% покрытия не доказывает корректность?
Вопрос 14 из 20
Что означает отметка ожидаемого падения теста?
Вопрос 15 из 20
Тест случайного поведения то проходит, то падает. Какое исправление сделает источник случайности управляемым?
Вопрос 16 из 20
Что проверяет caplog?
Вопрос 17 из 20
Тест без изменений то проходит, то падает. Как называется эта проблема и чем она отличается от обычного медленного теста?
Вопрос 18 из 20
Как у объекта `Mock` проверить, что метод был вызван ровно один раз с указанными аргументами?
Вопрос 19 из 20
Почему snapshot-тест большого JSON требует осторожности?
Вопрос 20 из 20
Когда выполняется фикстура pytest с `autouse=True`?

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу