Выбор ответа Middle Тестирование и pytest обновлено

Что говорит 100% покрытие

Вопрос

Покрытие тестами 100% по строкам. Что это гарантирует?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Каждая строка выполнилась хотя бы раз, не больше. Покрытие строк показывает только факт выполнения.

Варианты ответа

  1. В коде нет ошибок в покрытых строках
  2. Все ветки условий проверены во всех комбинациях
  3. Каждая строка выполнилась хотя бы раз, не большеправильный ответ
  4. Все краевые случаи учтены тестами

Разбор

Покрытие строк показывает только факт выполнения. Тест может выполнить строку без единого assert, а if a and b даёт 100% строк при одной комбинации. Покрытие ветвей (--cov-branch) точнее, но и оно не проверяет краевые значения. Покрытие хорошо находит непокрытый код, но не доказывает качество тестов.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме