Как вы можете объединить unittest2 и coverage.py?

Как вы можете работать unittest2 и coverage.py?

В теории что-то вроде

coverage run unit2 discover 

должен работать, но в настоящее время он просто выдает ошибки.

Если вы являетесь пользователем nose, который будет эквивалентен nosetests --with-coverage.

Ответы

Ответ 1

Try:

coverage run -m unittest discover

работает для меня.

Ответ 2

Это должно быть специфично для вашей установки, так как оно отлично работает для меня

coverage run unit2 discover

чтобы сгенерировать информацию о покрытии, затем

coverage html

для создания отчета HTML (одного из нескольких форматов отчетов) и

open htmlcov/index.html

чтобы увидеть результаты.

(Отвечая на это, потому что это верхний ghit для "unittest2 coverage", и я не хочу, чтобы люди откладывали отсутствие ответа.)

Ответ 3

Я запускаю Windows и сталкивался с той же проблемой.

$ coverage run unit2 discover
No file to run: 'unit2'

Я подозреваю, что это связано с различиями в том, как системный путь и путь python обрабатываются в разных операционных системах (я предполагаю, что Andrew работает Linux?). Несмотря на это, coverage run принимает параметр -m, который позволяет вам запускать модуль, а не script. Это то, что я использую:

coverage run -m unittest2 discover

Ответ 4

Если у вас установлено несколько версий coverage, используйте

coverage2 run -m unittest discover

или

coverage3 run -m unittest discover

чтобы указать, какой из них вы собираетесь запустить.