> For the complete documentation index, see [llms.txt](https://autotests-pytest.gitbook.io/pytest/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://autotests-pytest.gitbook.io/pytest/vvedenie.md).

# Введение

Вот основные шаги по написанию тестов с использованием `pytest`:

1. **Установка `pytest`:** Убедитесь, что у вас установлен `pytest`. Если нет, установите его с помощью pip:

   ```bash
   pip install pytest
   ```
2. **Структура проекта:** Создайте структуру проекта. Обычно, тесты размещают в отдельной директории, например, `tests`, а файлы тестов имеют префикс `test_`. Например:

   ```markdown
   my_project/
   ├── my_module.py
   └── tests/
       ├── __init__.py
       └── test_my_module.py
   ```
3. **Написание тестов:** Создайте файл тестов, например, `test_my_module.py`, и определите тестовые функции. Тестовые функции должны начинаться с префикса `test_`. Пример:

   ```python
   import pytest
   # test_my_module.py
   from my_module import add

   def test_addition():
       assert add(1, 2) == 3

   def test_subtraction():
       assert add(5, 3) == 2
   ```

   В этом примере предполагается, что у вас есть файл `my_module.py` с функцией `add`, которую вы тестируете.
4. **Запуск тестов:** Откройте терминал в корневой директории вашего проекта и выполните команду:

   ```bash
   pytest test_my_module.py
   ```

   `pytest` автоматически найдет и выполнит все тесты в директории `tests`.
5. **Утверждения (assertions):** Используйте утверждения (`assert`) для проверки ожидаемых результатов ваших тестов. Если утверждение истинно, тест проходит; если ложно, тест считается неудачным.

   ```python
   assert add(1, 2) == 3
   ```

   Если утверждение не проходит, `pytest` выведет подробную информацию о том, что пошло не так.

Это основы написания тестов с использованием `pytest`. Фреймворк предоставляет множество возможностей для управления тестами, включая параметризацию, фикстуры и многие другие возможности. Для получения более подробной информации о `pytest`, рекомендуется прочитать официальную документацию.
