У меня есть подозрение, что Алекс может быть немного впереди меня на кривой программиста, но если вам нужна перспектива кого-то с некоторым опытом работы с Python (как «пользователь», а не как эксперт или евангелист), но нев той же лиге мои выводы о модульном тестировании были почти такими же.
Doctests может показаться отличным для простого тестирования в начале, и я пошел в этом направлении для какого-то личного проекта дома, потому что он былрекомендуется в другом месте.На работе мы используем нос (хотя он был таким консервированным и завернутым, у меня сложилось впечатление, что мы использовали pyUnit совсем недавно), и несколько месяцев назад я тоже перешел к носу дома.
время настройки и накладные расходы на управление, а также отделение от реального кода, вначале могут показаться ненужными, особенно когда вы тестируете что-то не очень большое, но в долгосрочной перспективе я обнаружил, что в тестах появляютсяспособ каждого рефакторинга или реструктуризации, который я хотел сделать, довольно сложно поддерживать, практически невозможно масштабировать и очень быстро компенсировать первоначальную экономию.И да, я знаю, что модульное тестирование - это не то же самое, что интеграционное тестирование, но doctests обычно определяет ваши юниты для вас слишком строго.Они также не очень подходят для гибкой разработки на основе юнитов, если вы когда-нибудь решите, что это правильный инструмент для рисования или модель разработки.
Вам может потребоваться немного времени, чтобы спланировать, а затем усовершенствовать свои юнит-тесты, как pyUnit или управление носомвы к, но есть вероятность, что даже в краткосрочной перспективе вы обнаружите, что это действительно помогает вам на многих уровнях.Я знаю, что это помогло мне, и я относительно плохо знаком со сложностью и масштабностью кодовой базы, над которой я сейчас работаю.Просто нужно стиснуть зубы в течение первых нескольких недель.