4👍
If you access your project via any symlink in the path, coverage display will fail.
Try to open same project through real path, and you will get correct behavior.
https://youtrack.jetbrains.com/issue/PY-17616
PS: Refreshing old question, as bug still has not been fixed.
2👍
I had a similar issue using the PyCharm bundled coverage.py
The tests were running fine, but the coverage results were not loaded, “0%” or “not covered” everywhere.
There was an error logged in the PyCharm console though, following the output of the tests, that was coverage.py related:
/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python
"/Applications/PyCharm 2.5 EAP.app/helpers/run_coverage.py"
run "--omit=/Applications/PyCharm 2.5 EAP.app/helpers" bin/test
Creating test database for alias 'default'...
................................
----------------------------------------------------------------------
Ran xx tests in xxs
OK
No source for code: '/path/file.py' (<- error)
Process finished with exit code 0
My solution was to run the bundled coverage.py with the option to ignore errors: “-i”.
I’ve edit the bundled “run_coverage.py” file, you can see its location in the console output, and add the “-i” option in the last line:
main(["xml", "-o", coverage_file + ".xml"])
to:
main(["xml", "-i", "-o", coverage_file + ".xml"])
This worked for me, the error is ignored and all the coverage data are now loaded in the UI.
If using “-i” solve the issue on your side, a better solution would be to fix the errors, but until then, you’ll see coverage results.
- Django Rest Framework – Create foreign key object on POST
- How to filter objects by ignoring upper and lower case letter django
- Check for request.GET variable in the template
- How to redirect from a view to another view In Django
1👍
I’ve also been trying to solve this issue in Ubuntu.
At the moment I tried with both the apt-get Python and the Enthought Canopy stack, with no success. In Windows however it does work (using Canopy).
I’ve used the following code:
# in a.py
class A(object):
def p(self, a):
return a
# in test_a.py
from unittest import TestCase, main
from a import A
class TestA(TestCase):
def test_p(self):
inst = A()
val = inst.p("a")
self.assertEqual("a", val)
if _name_ == "__main__":
main()
- Django Rest Framework using dot in url
- How to ignore certain Python errors from Sentry capture
- Mongoengine: ConnectionError: You have not defined a default connection
- Querying Many to many fields in django template
- How to serialize groups of a user with Django-Rest-Framework
1👍
I had a similar issue. I ended up generating xml data using nosetests --cover-xml
, but you can also generate an xml from a previous coverage.py run with coverage xml
Then that report can be conveniently loaded in PyCharm/IDEA from the Analyze -> Show Coverage Data… -> + button and selecting the xml file.