NoseTest: работает с покрытием из скрипта Python

Я хочу запустить NoseTest из скрипта Python. Но я хочу не только запустить его, но и измерить тестовое покрытие.

Просто сейчас у меня есть следующий код:

import os
import sys
import nose

sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))

import tests

if __name__ == "__main__":
    config = nose.config.Config(verbosity=3, stopOnError=False, argv=["--with-coverage"])
    result = nose.run(module=tests, config=config)

Что я должен добавить, чтобы получить мой отчет о покрытии?

2 ответа

Решение

Да, черт возьми! После небольшой отладки Nose Test мне удалось это сделать!

if __name__ == "__main__":
    file_path = os.path.abspath(__file__)
    tests_path = os.path.join(os.path.abspath(os.path.dirname(file_path)), "tests")
    result = nose.run(argv=[os.path.abspath(__file__),
                            "--with-cov", "--verbosity=3", "--cover-package=phased", tests_path])

РЕДАКТИРОВАТЬ: Чтобы запустить плагины с nose.run(), вам нужно использовать ключевое слово "плагины":

http://nose.readthedocs.org/en/latest/usage.html

Ваш код полностью настроен - вам нужно включить покрытие через бегуна. Просто запустите нос, как это:

nosetests --with-coverage

Здесь есть еще варианты:

http://nose.readthedocs.org/en/latest/plugins/cover.html

К вашему сведению, вам может потребоваться выполнить следующую команду, чтобы получить пакет покрытия:

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