Что такое unittest и чем он отличается от pytest? Чем тестировать код на Python?
Короткий ответ unittest — встроенный в стандартную библиотеку фреймворк модульного тестирования в стиле xUnit: тесты оформляются классами на базе unittest.TestCase, проверки — методами-утверждениями. pytest позволяет писать тесты как простые функции с обычным assert, автоматически обнаруживает тесты и имеет множество плагинов, при этом умеет запускать и unittest-тесты. Как это работает подробнее Оба инструмента решают одну задачу, но по-разному организуют код тестов, а pytest дополнительно умеет работать с unittest-тестами. Стиль unittest. Класс наследует unittest.TestCase, каждый тест — метод с именем на test_, проверки выполняются через assertEqual(), assertTrue(), assertIn() и подобные. Подготовка окружения. Метод setUp() готовит фиксированное окружение перед каждым тестом, чтобы результаты были воспроизводимы. Запуск unittest. Набор запускается через unittest.main() или командой запуска файла с флагом -v; возможные исходы — OK, FAIL или ERROR. Философия pytest. Минимум шаблонного кода: тесты-функции, обыч