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