До сих пор я использовал встроенный модуль unittest (pyUnit) для модульного тестирования кода Python. Однако для простых случаев это кажется излишним. Будучи производным от xUnit, он выглядит немного тяжелым для динамического характера Python, где я ожидаю меньше писать для достижения тех же эффектов. С другой стороны, он встроен, он заставляет вас писать свои тесты организованным образом и проверяется временем.
Основные альтернативы, которые я видел онлайн:
Какую из структур вы предпочитаете и почему?
Обновление 10.12.2011: с недавним добавлением теста автоматического обнаружения и многих новых функций в unittest
(в Python 2.7 и 3.2), IMHO имеет смысл использовать внешнюю библиотеку.
Относительно доктрины: Я не рассматриваю его как единое тестирование. Я определенно не буду использовать его для написания большого набора тестов для значительного приложения. doctest больше подходит для того, чтобы убедиться, что примеры, которые вы предоставляете в документации, работают. Он имеет свое место для этой потребности, но он не является конкурентом для unittest, py.test и других фреймворков.