Как вы правильно ограничиваете покрытие пакета XCoverage в NoSetests, используя Setup.cfg?

StackOverflow https://stackoverflow.com//questions/9676104

  •  12-12-2019
  •  | 
  •  

Вопрос

Я настроил его, чтобы простые пропуски простых модулей.Но NOSEXUNIT.XML сообщает о файлах тестирования Lib.Частичный выход:

nosexcover-1.0.7-py2.6.egg/nosexcover/nosexcover    25     24     4%   5-41, 46-56
test/unit/test_setup                                13      0   100%   
.

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

project
\-- backend     # <-- module I'm testing
    \-- lib     # <-- what I want to cover
    \-- test
       \-- unit/test_setup.py       # <-- test I'm running
    \-- setup.py
    \-- setup.cfg
\--reporting
    \-- setup.py
    \-- setup.cfg
.

Я запускаю тесты из Dir Died Backend:

project/backend$ python setup.py nosetests -s --tests=unit/test_setup.py
.

nosetests настроен в setup.cfg следующим образом

[nosetests]
# locating tests
where=./test
include=^unit.*

# coverage
cover-package=lib
cover-html=1
cover-html-dir=htmlcov
with-xcoverage=1
xcoverage-file=coverage.xml
with-xunit=1
xunit-file=nosexunit.xml
cover-erase=1
.

У меня есть ощущение, что один из настроек пути выключен.Я предполагаю, что паракодицетагCode и настройки where относится к расположению генеракодицетагкода (также, где я запускаю тест), и cover-package относится к setup.py.

Nosetests Документация не помогала.Я надеюсь, что кто-то может поставить мне прямо здесь.

Это было полезно?

Решение

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

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

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

----------------------------------------------------------------------
XML: nosexunit.xml
Name        Stmts   Miss  Cover   Missing
-----------------------------------------
lib             0      0   100%   
lib.blank       1      0   100%   
-----------------------------------------
TOTAL           1      0   100%   
----------------------------------------------------------------------
Ran 2 tests in 0.008s
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top