Ebook: Python. unittest
Author: М. И. Абдрахманов
- Year: 2017
- Publisher: devpractice.ru
- Language: Русский
- pdf
Эта книга позволит вам максимально комфортно войти в мир тестирования в Python. Основное внимание в ней уделено созданию тестов, объединению их в группы, запуску, обработке результатов тестирования и пропуску ненужных тестов. Рассмотрена работа с классами TestCase, TestSuite, TestLoader, TestResult и TextTestRunner.
Трудно представить какой-то современный программный проект без тестирования. При этом тестирование осуществляется практических на всех этапах разработки продукта: начиная, непосредственно, с процесса создания функций, методов и классов и т.д., когда пишутся unit-тесты (а иногда и раньше, в случае, если используется TDD), и заканчивая функциональным и нагрузочным тестированием уже готового, развернутого продукта.
В рамках данной книги, мы остановимся только на автономном тестировании. Автономное тестирование еще называют модульным или unit-тестированием (unit-testing). Здесь и далее под словом тестирование будет пониматься именно автономное тестирование. Важной характеристикой unit-теста является его повторяемость, т.е. результат его работы не зависит от окружения (внешнего мира), если же приходится обращаться к внешнему миру в процессе выполнения теста, то необходимо предусмотреть возможность подмены “мира” какой-то статичной сущностью. Unit -тесты могут быть написаны собственноручно, без использования сторонних библиотек, а можно использовать специализированные framework’и. На сегодняшний день практически всегда используется второй вариант.
В мире Python существуют три framework’а, которые получили наибольшее распространение: 1) unittest; 2) nose; 3) pytest.
unittest – это framework для тестирования в Python, который позволяет разрабатывать автономные тесты, собирать тесты в коллекции, обеспечивает независимость тестов от framework’а отчетов и т.д. Его архитектура выполнена в стиле xUnit. xUnit представляет собой семейство framework’ов для тестирования в разных языках программирования, в Java - это JUnit, C# - NUnit и т.д. Если вы уже сталкивались с данным каркасом в других языках, то это упростит понимание unittest. Данная книга посвещена unittest и тестированию приложений с его использованием.