При попытке запустить тесты с покрытием под Django + django-носом в PyCharm я не могу заставить отчет о покрытии работать. Я пробовал с комплектом coverage.py
и без него. Без комплекте coverage.py
я вижу:Покрытие кода PyCharm для Django + django-нос
Traceback (most recent call last):
File "/Applications/PyCharm.app/Contents/helpers/coverage_runner/run_coverage.py", line 44, in <module>
main()
File "/Users/dane/.virtualenvs/dhp/lib/python3.5/site-packages/coverage/cmdline.py", line 741, in main
status = CoverageScript().command_line(argv)
File "/Users/dane/.virtualenvs/dhp/lib/python3.5/site-packages/coverage/cmdline.py", line 481, in command_line
return self.do_run(options, args)
File "/Users/dane/.virtualenvs/dhp/lib/python3.5/site-packages/coverage/cmdline.py", line 625, in do_run
self.coverage.stop()
File "/Users/dane/.virtualenvs/dhp/lib/python3.5/site-packages/coverage/control.py", line 692, in stop
self.collector.stop()
File "/Users/dane/.virtualenvs/dhp/lib/python3.5/site-packages/coverage/collector.py", line 277, in stop
"Expected current collector to be %r, but it's %r" % (self, self._collectors[-1])
AssertionError: Expected current collector to be <Collector at 0x10e0cfbe0: CTracer>, but it's <Collector at 0x10fa368d0: CTracer>
В то время как с ней я вижу:
Traceback (most recent call last):
File "/Applications/PyCharm.app/Contents/helpers/coverage_runner/run_coverage.py", line 44, in <module>
main()
File "/Applications/PyCharm.app/Contents/helpers/coveragepy/coverage/cmdline.py", line 721, in main
status = CoverageScript().command_line(argv)
File "/Applications/PyCharm.app/Contents/helpers/coveragepy/coverage/cmdline.py", line 438, in command_line
self.do_execute(options, args)
File "/Applications/PyCharm.app/Contents/helpers/coveragepy/coverage/cmdline.py", line 580, in do_execute
self.coverage.stop()
File "/Applications/PyCharm.app/Contents/helpers/coveragepy/coverage/control.py", line 410, in stop
self.collector.stop()
File "/Applications/PyCharm.app/Contents/helpers/coveragepy/coverage/collector.py", line 294, in stop
assert self._collectors[-1] is self
AssertionError
Мои тесты и охват отчетов работу правильно с помощью командной строки, то есть:
$ python manage.py test
Я вы настроили конфигурацию запуска с использованием шаблона тестов Django, и я не делаю ничего особенного или необычного, насколько мне известно. Кто-нибудь сталкивался с этим и решал его? Интеграция охвата была бы очень полезна!
Update
Этот вопрос был открыт с JetBrains here.
[KFunk] (http://stackoverflow.com/users/1707152/kfunk), вы правы, что у меня есть эти значения в моей «NOSE_ARGS». Я согласен, что их удаление позволяет PyCharm играть хорошо. Тем временем я открыл ошибку (возможно, это запрос функции) с JetBrains, и я видел там небольшое количество движений. Посмотрим, что из этого получится! Я принимаю ваш ответ, потому что сейчас это самая правильная вещь, такая грустная, как это делает меня. –
Когда/если реактивные мозги возвращаются к вам с помощью идентификатора общедоступного билета, не могли бы вы обновить свой вопрос, включив эту ссылку внизу? Я буду размещать на этом билете, а другие, возможно, захотят. – KFunk
Хорошая точка. Готово! –