Как создать отчет об отчете по xml для одного пакета?

Я использую нос и покрытие для создания отчетов о покрытии. У меня только один пакет прямо сейчас, а , поэтому я указываю, что только обложка:

nosetests -w tests/unit --with-xunit --with-coverage --cover-package=ae 

И вот результаты, которые выглядят хорошо:

 Name Stmts Exec Cover Missing ---------------------------------------------- ae 1 1 100% ae.util 253 224 88% 39, 63-65, 284, 287, 362, 406 ---------------------------------------------- TOTAL 263 234 88% ---------------------------------------------------------------------- Ran 68 tests in 5.292s 

Однако, когда я запускаю coverage xml , покрытие захватывает больше пакетов, чем необходимо, включая электронные письма и журналы регистрации python, которые не имеют никакого отношения к моему коду.

Если я запускаю coverage xml ae , я получаю эту ошибку:

 No source for code: '/home/wraith/dev/projects/trimurti/src/ae': [Errno 21] Is a directory: '/home/wraith/dev/projects/trimurti/src/ae' 

Есть ли способ генерировать XML только для пакета ae ?

3 Solutions collect form web for “Как создать отчет об отчете по xml для одного пакета?”

У меня была аналогичная проблема, и я решил ее с опцией --omit . Это заставило его работать намного быстрее и уменьшило размер покрытия. Xml от 2MB до 70kB.

 --omit=PRE1,PRE2,... Omit files when their filename path starts with one of these prefixes. 

Я нахожусь в Mac OS X, поэтому я опустил / Library / и / Applications / folders:

 $ coverage xml --omit=/Library/,/Applications/ 

В других системах вы можете найти --omit=/usr/ more --omit=/usr/ .

Я не смог найти ответ на этот вопрос, поэтому после обработки я удаляю ненужные элементы пакета. Эта функция принимает исходный файл XML, имя элемента для проверки, его атрибут для проверки, шаблон (или список слов), который вы хотите использовать, и путь к файлу назначения для нового файла.

 from lxml import etree def keep(self, xmlfile, elem_name, attr_name, pattern, dst): try: rep = re.compile(pattern) except TypeError: # Create regex pattern if a list is given. # TypeError: unhashable type: 'list' rep = re.compile("|".join(pattern)) dom = etree.parse(xmlfile) for node in dom.findall('//%s' % elem_name): if not rep.search(node.get(attr_name)): node.getparent().remove(node) dom.write(dst) 

Чтобы решить мою проблему, я называю это следующим образом:

 keep('coverage.xml', 'package', 'name', 'ae|tests', 'wanted-coverage.xml') 

Ты пробовал:

 coverage xml ae 
 
Interesting Posts for Van-Lav

pip в глобальных пакетах сайтов вместо virtualenv

Как установить оправдание в текстовом поле Tkinter

Как установить пакет внутри virtualenv?

Запрос однострочного DataFrame с условными обозначениями AND'ed

что происходит, когда я дважды импортирую модуль в python

Проблема с регулярным выражением внешнего вида Python: недопустимое регулярное выражение: look-behind требует шаблона с фиксированной шириной

Как я могу использовать python xlib для создания одного нажатия клавиши?

Тензорный поток: как отображать пользовательские изображения в тензокартоне (например, графики Matplotlib)

Python: преобразовать строку в массив байтов

Объяснение различий между dim, shape, rank, размерностью и осью в numpy

Отключение секунд в python datetime

Как делить флеш-приложение на несколько файлов py?

Что такое «хорошая» палитра для расходящихся цветов в R? (или: можно ли вириди и магму объединить вместе?)

Что случилось с моим исключением?

Порядок вставки в наборах (при разборе {})

Python - лучший язык программирования в мире.