Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. Первый тест за 10 минут
first_test_in_10_minutes

Первый тест за 10 минут

Установка pytest, первый assert, запуск с pytest -v — быстрая победа без лишней теории

Это самый важный урок курса. За 15 минут вы напишете и запустите свой первый тест.

Цель: Получить зелёный тест как можно быстрее — чтобы почувствовать успех и двигаться дальше.

Важно: не углубляйтесь в детали. Просто запустите тест и увидьте PASSED. Всё остальное разберём позже.

Вы точно готовы?

Перед началом убедитесь:

# Проверьте версию Python (должна быть 3.8+) python3 --version # Python 3.11.0 или выше рекомендуется

Если Python не установлен — установите с python.org.

Базовое знание Python:

# Вы должны понимать этот код def add(a, b): return a + b result = add(2, 3) print(result) # 5

Установка pytest

Шаг 1: создайте директорию для проекта

mkdir pytest-tutorial cd pytest-tutorial

Шаг 2: создайте виртуальное окружение

# macOS/Linux: python3 -m venv .venv source .venv/bin/activate # Windows: python -m venv .venv .venv\Scripts\activate

Проверка: командная строка должна показывать (.venv) в начале.

Шаг 3: установите pytest

pip install pytest

Проверка установки:

pytest --version # pytest 8.0.0 (или выше)

✅ Если видите версию — pytest установлен!

Первый тест

Создайте тестовый файл

touch test_simple.py

Напишите первый тест

Откройте test_simple.py в любом редакторе и напишите:

# test_simple.py def test_simple_addition(): """Самый простой тест""" result = 2 + 2 assert result == 4

Разбор кода:

  • def test_* — pytest автоматически находит функции, начинающиеся с test_
  • assert — проверка условия. Если False — тест провалится
  • result == 4 — ожидаемый результат

Ещё один тест (для понимания)

def test_string_concatenation(): """Тест для строк""" greeting = "Hello, " + "pytest!" assert greeting == "Hello, pytest!"

Запуск теста

pytest test_simple.py -v

Ожидаемый результат:

============================ test session starts ============================
collected 2 items

test_simple.py::test_simple_addition PASSED                          [ 50%]
test_simple.py::test_string_concatenation PASSED                     [100%]

============================= 2 passed in 0.01s =============================

✅ Поздравляю! Вы только что запустили свои первые тесты!

Что означает вывод?

  • collected 2 items — pytest нашёл 2 теста
  • PASSED — тест прошёл успешно ✅
  • 2 passed in 0.01s — оба теста прошли за 0.01 секунды

Эксперимент: сломанный тест

Давайте намеренно сломаем тест, чтобы увидеть как pytest показывает ошибки:

def test_broken(): """Этот тест провалится""" result = 2 + 2 assert result == 5 # Неправильно!

Запускаем:

pytest test_simple.py -v

Результат:

test_simple.py::test_broken FAILED                                   [100%]

=================================== FAILURES ====================================
___________________________________ test_broken _________________________________

    def test_broken():
        result = 2 + 2
>       assert result == 5
E       assert 4 == 5

test_simple.py:11: AssertionError

Разбор ошибки:

  • FAILED — тест провалился ❌
  • assert 4 == 5 — pytest показывает ЧТО именно сломалось
  • AssertionError — ошибка утверждения

Исправление:

# ❌ ПЛОХО assert result == 5 # ✅ ХОРОШО assert result == 4

Исправьте и запустите снова — должно быть PASSED.

Типичные ошибки новичков

Ошибка #1: забыли префикс test_

# ❌ ПЛОХО — pytest не найдёт эту функцию def my_addition(): assert 2 + 2 == 4 # ✅ ХОРОШО def test_my_addition(): assert 2 + 2 == 4

Ошибка #2: файл не начинается с test_

# ❌ ПЛОХО simple.py # pytest не найдёт # ✅ ХОРОШО test_simple.py # pytest найдёт

Ошибка #3: забыли assert

# ❌ ПЛОХО — тест всегда пройдёт def test_no_assertion(): result = 2 + 2 # Нет проверки! # ✅ ХОРОШО def test_with_assertion(): result = 2 + 2 assert result == 4 # Проверка есть

Что вы изучили

  • Установили pytest через pip
  • Создали первый тест с функцией test_*
  • Использовали assert для проверки
  • Запустили тесты с pytest
  • Поняли вывод PASSED/FAILED
  • Увидели как выглядят ошибки в тестах

Устранение неисправностей

Проверьте свои знания

Вопросы ещё не добавлены

Вопросы для этой подтемы ещё не добавлены.

Далее: Базовая структура: где хранить тесты