Использование doctest в Python. Интеграция doctest и unittest
В продолжение беседы о юнит-тестах рассмотрим встроенную библиотеку doctest. Как видно из названия - она предназначена для написания тестов прямо в документации функции, причем тесты пишутся так, как если бы мы вызывали код в консоли Python
Плюсы:
1) сразу видно тест, не нужно идти в другие папки, чтобы посмотреть проверки
2) виден пример использования функции, что особенно актуально для сложных вариантов
3) мотивирует писать и поддерживать документацию к функции
4) интегрируется с юниттестом, что позволяет прогонять сразу все тесты проекта, и юниты и доктесты.
Минусы:
1) свой синтаксис
2) не очень удобно писать сложные тесты, обрабатывать исключения и т.п.
Мой совет - использовать доктест как добавку к юниттесту, то есть писать в сложных функциях примеры использования (и документацию, что немаловажно), а сложные кейсы решать уже средствами юниттеста.
Читать :
https://docs.python.org/3/library/doctest.html
https://docs.python.org/3/library/doctest.html#unittest-api
python
unittest
python unittest
doctest
doctest python
testing