Ошибка при использовании py.test с покрытием

Я использую 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?


person Will    schedule 28.03.2014    source источник