Здравствуйте, коллеги! Мы собрали наш опыт использования unittest в Python в небольшую книжку и хотели бы поделиться ей с вами. В книге рассмотрены вопросы создания тестов, объединения их в группы, запуску и пропуску тестов. Данный материал распространяется бесплатно. Будем рады обратной связи и критике!
Вы можете скачать «Python.unittest» с нашего сайта.
Материал книги, в первую очередь, рассчитан на людей начинающих разбираться в тестировании, но уже знающие основы языка Python (желательно иметь представление о ООП составляющей Python). Мы постарались привести достаточное количество примеров, поэтому проблем с освоением темы быть не должно.
Хотелось бы сразу осветить вопрос появления данной книжки в исторической перспективе, из которой станет понятно, почему ее содержание именно такое. Дело в том, что перед нами встала задача тестирования пользовательского интерфейса десктопных приложений, и для ее решения мы выбрали SikuliX. Для работы с SikuliX используют Java или Python. Мы выбрали Python)) Следующим шагом стал вопрос автоматизации процесса запуска тестов и анализа результатов их прохождения. Логичным шагом в данном случае стало использование framework’а для тестирования, наш выбор пал на unittest. Его функционала было более чем достаточно, т.к. требовалось только создавать тесты, объединять их в группы, управлять процессом запуска и получать результат в удобном для анализа виде. Mock’и и прочие вещи нам были не нужны, во всяком случае пока. В результате, на тему тестирования и использования unittest было написано несколько статей, который были объединены в небольшую книжку «Python.unittest».
Содержание книги:
Глава 1. Введение
Автономное тестирование. Основные понятия
Framework’и для проведения автономного тестирования в Python
Пример тестирования приложения без framework’а
Пример тестирования приложения с использованием unittest
Глава 2. Написание тестов (класс TestCase)
Основные структурные элементы unittest
Запуск тестов
Интерфейс командной строки (CLI)
Графический интерфейс пользователя (GUI)
Работа с TestCase
Методы, используемые при запуске тестов
Методы, используемые при непосредственном написании тестов
Методы, позволяющие собирать информацию о самом тесте
Глава 3. Организация тестов (класс TestSuite)
Загрузка и запуск тестов
Класс TestSuite
Загрузка и запуск тестов
Класс TestLoader
Класс TestResult
Класс TextTestRunner
Глава 4. Пропуск тестов
Подготовка
Пропуск отдельных тестов в классе
Безусловный пропуск тестов
Условный пропуск тестов
Пропуск классов
Автор: marat_ab