Как я могу обеспечить хорошее тестовое покрытие моего большого проекта Python

У меня очень большой проект на Python с очень большим набором тестов. Недавно мы решили количественно оценить качество нашего тестового покрытия.

Я ищу инструмент для автоматизации генерации отчетов по тестированию. В идеале я хотел бы иметь привлекательные, легко читаемые отчеты, но я бы согласился на менее привлекательные отчеты, если бы я мог сделать это быстро.

Я пробовал Nose, что недостаточно хорошо: он несовместим с функцией пакета пространства имен Distre / Setuptools. К сожалению, покрытие носа никогда не будет работать для нас, так как мы широко используем эту функцию. Это настоящий позор, потому что Нос, кажется, работает очень хорошо в Хадсоне (в основном)

В качестве альтернативы я слышал, что в Eclipse есть способ анализа покрытия Python, но я не совсем определил совершенную технику.

Любые предложения приветствуются!

К вашему сведению, мы используем Python 2.4.4 на Windows XP 32bit

2 ответа

Вы пытались использовать cover.py? Он лежит в основе "покрытия носа", но при необходимости может быть отлично проведен вне носа.

Если вы запускаете свои тесты с (гипотетически) python run_my_tests.py, то вы можете измерить охват с coverage run run_my_tests.py, а затем получить отчеты HTML с coverage html,

Из вашего описания я не уверен, какая у вас была проблема с носом, особенно это была проблема с носом, или проблема cover.py. Предоставьте еще некоторые детали, и я уверен, что мы сможем проработать их.

Нед уже упоминал о своем превосходном модуле cover.py.

Если ваша проблема связана с носом, вы можете рассмотреть возможность использования другого бегуна. Я использовал py.test вместе с плагином pytest_coverage, который позволяет вам генерировать статистику покрытия. Он также имеет плагин pytest_nose, который поможет вам мигрировать.

Однако я не совсем понимаю, в чем проблема. Не могли бы вы немного рассказать о упомянутой вами "функции пакета пространств имен для дистрибуции / setuptools"? Мне любопытно узнать, в чем проблема.

Другие вопросы по тегам