Я использую py.test
с coverage
. У меня были проблемы с использованием pytest-cov
в моих тестах; когда я запускал py.test --cov=my_module --coverage-report=html .
, определения функций в моем модуле сообщались как отсутствующие, даже если они должны выполняться при импорте модуля в тестах. Эта проблема упоминается в разделе FAQ.
Затем этот вопрос заставил меня попробовать просто запустить coverage
вместо использования pytest-cov
, например:
coverage run --source my_module py.test .
Теперь я получаю эту ошибку (я показал только самые последние вызовы в трассировке):
[long traceback]
File "[…]/python3.3/site-packages/py/test.py", line 4, in <module>
sys.exit(pytest.main())
SystemExit: 0
During handling of the above exception, another exception occurred:
[long traceback]
File "[…]/python3.3/site-packages/coverage/collector.py", line 294, in stop
assert self._collectors[-1] is self
AssertionError
Кто-нибудь еще столкнулся с этим? Как заставить coverage
правильно работать с py.test
?