Я настроил его так, чтобы мой простой модульный тест прошел.Но 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%
Проект разбит на разные модули, которые необходимо протестировать независимо.Я сосредоточен на модуле бэкэнда в настоящее время.Я хочу ограничить охват пакетом 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
Я запускаю тесты из каталога с именем 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
У меня ощущение, что одна из настроек пути отключена.Я предполагаю, что настройки where
и cover-package
относятся к местоположению setup.py
(также там, где я запускаю тест), а include
относительно where
.
Nosetestsдокументация не сильно помогла.Я надеюсь, что кто-то может поставить меня прямо здесь.