Автотесты
Продолжаю тему
1. Проблема: Сложность ручного управления тестами В начале пути мы часто сталкиваемся с тем, что добавление новых тестов требует ручного обновления списка запускаемых классов. Это создает путаницу и ведет к ошибкам. Это изображение иллюстрирует эту проблему: разработчик видит сложную схему ручного добавления.
2. Реализация: Декоратор и реестр Решение заключается в использовании механизма авторегистрации. Мы создаем центральный реестр (например, словарь) и декоратор класса. На этом изображении показано, как декоратор @register_test автоматически добавляет классы тестов (LoginTest, LogoutTest) в реестр TEST_REGISTRY при их определении.
3. Использование: Автоматический поиск и запуск Теперь, когда классы зарегистрированы, система запуска тестов может просто итерироваться по реестру, не зная точного списка классов заранее. Это изображение показывает консольный вывод, подтверждающий, что система автоматически нашла и выполнила два теста, которые мы зарегистрировали на предыдущем шаге.
4. Масштабируемость: Легкое добавление новых тестов Главное преимущество — масштабируемость. Чтобы добавить новый тест, достаточно создать класс и применить декоратор. Никаких правок в конфигурации запуска не требуется. Это изображение показывает, что разработчик просто добавляет файл test_payment.py с новым классом, и консоль сразу показывает, что найдено уже 3 теста, включая новый PaymentTest.
#qa #python #qaautomationengineer #qafullstack #qa_automation #qacommunity