MakeyIS 0.8
Библиотека обеспечивает усовершенствованное управление параметрами PyTest и логирование, упрощая создание и отладку автоматизированных тестов за счет интуитивно понятных декораторов и продвинутых функций логирования. Она идеально подходит для повышения эффективности и наглядности процесса тестирования.

# Библиотека MakeyIS: Описание и Руководство

## Описание
Библиотека MakeyIS – это набор инструментов для расширенного управления и контроля тестов в pytest. Она предоставляет удобные декораторы и функции, которые упрощают и улучшают процесс тестирования, обеспечивая гибкость в конфигурации тестов, логировании и интеграции с Allure.

## Основные Функции и Изменения

### Аннотация @Test

- ```run_test```: Управляет выполнением теста. Если False, тест пропускается.
- ```repetitions```: Указывает количество повторений теста.
- ```group_name```: Назначает группу для теста, полезно для фильтрации и организации.
- ```log```: Включает подробное логирование для теста.
- ```description```: Добавляет описание для интеграции с Allure.

### Аннотация @Queue
!!! Работает, но не очень корректно, в процессе доработки !!!
- Устанавливает порядок выполнения тестов.
### Аннотация @Mark
Добавляет пользовательские метки для тестов.
### Функция run_with_timeout 
!!! Работает, но не очень корректно, в процессе доработки !!!
- Выполняет функцию с ограничением по времени.
### Интеграция с Allure
- Улучшенная интеграция с Allure для детализированных отчетов.
### Улучшенное Логирование
- Подробное логирование начала, завершения и ошибок теста.
### Условная Отладка
- Возможность активировать отладочный режим для определенных тестов с использованием @DebugConditionally.
## Важные Указания
Для корректной работы повторений необходимо добавить параметр iteration в определение теста.
- **Для однократного выполнения теста параметр iteration не требуется.**
- **При нескольких повторениях необходимо добавить iteration в параметры теста.**

## Конфигурация Pytest
Для избежания предупреждений добавьте в **pytest.ini**:
```
[pytest]
markers =
    group: описание маркера group
```

## Импортирование аннотации
Для использования аннотаций, необходимо сначала импортировать её в ваш тестовый файл. Это можно сделать следующим образом(Пример):
```
from Library.MakeyIS import Test
```

# Примеры Использования
### Базовое Использование @Test
```
@Test(run_test=True, repetitions=1, group_name="example_group", log=True)
def test_example():
    # Тестовый код
```
### С использованием повторений тестов, добавляем: iteration
```
@Test(run_test=True, repetitions=3, group_name="example_group", log=True)
def test_example(Другие ваши параметры, iteration):
    # Тестовый код
```
### Пропуск Теста
```
@Test(run_test=False)
def test_skipped():
    # Этот тест будет пропущен
```
### Использование @Queue
```
@Queue(1)
def test_first():
    # Этот тест выполнится первым

@Queue(2)
def test_second():
    # Этот тест выполнится вторым
```
### Использование @Mark
```
@Mark("critical")
def test_critical():
    # Критический тест
```
### Отладка с @DebugConditionally
- **Включает отладочный режим для тестов.**
- **Используйте точки останова и pdb для отладки.**
```
@DebugConditionally(enabled=True)
def test_debugging():
    # Код теста с отладкой
```
#### Использование pdb в Отладке
- Проставьте точки останова.
- Запустите тест.
- Используйте команды pdb (n - следующий шаг, c - продолжить выполнение, p - печать значения).

## Заключение и Контакты
**Библиотека MakeyIS находится в активной разработке и постоянно улучшается. Если вы столкнулись с проблемами, имеете предложения или идеи по улучшению, пожалуйста, свяжитесь со мной через [Мой Telegram](https://t.me/MakeyStar).**

## Авторские Права
#### **Все права защищены. Незаконное копирование, модификация и распространение библиотеки под другим названием строго запрещены и могут быть преследуемы по закону.**

## Информация о Версиях
- 0.3: Добавлена аннотация @Queue.
- 0.4: Исправления в использовании повторений.
- 0.5: Общие улучшения и оптимизация работы аннотации.
- 0.6: Добавлена аннотация @DebugConditionally. Улучшена работа библиотеки, исправлены ошибки при использовании повторений теста. Улучшено логирование тестов.
- 0.7: Улучшено описание для библиотеки
- 0.8: Улучшена сборка библиотеки