How do you execute nosetest from pycharm to run all unit tests?
I know that pycharm supports python's unittest and py.test and that they will properly support nosetests in pycharm 1.1 but I was wondering if there was a work around.
How do you execute nosetest from pycharm to run all unit tests?
I know that pycharm supports python's unittest and py.test and that they will properly support nosetests in pycharm 1.1 but I was wondering if there was a work around.
In the current version of Pycharm (2.6) there should be a context menu "run Nosetests in ..." on a test file. If this is missing, go to file->settings->Project Settings->python integrated tools
and ensure the Default Test Runner is Nosetests. You do of course need to have Nosetests installed - pycharm will offer this if you do not.
This does have a limitation. If the file in question does not have a class derived from unittest.TestCase it will not automatically show this. If you are using nose.tools or simple assertions it will not automatically offer this. This is probably a bug.
If you can live without the graphical test runner, you can simply create a "Python Script" run configuration and run the tests as you run them from the command line.
The only way to get nose tests working with the graphical test runner, I'm afraid, is to hack on helpers/pycharm/utrunner.py from the PyCharm distribution.
This is easy to accomplish....
I assume you have nose already installed.
And that your project looks like
\MyProj_Source
\MyProj
init.py
MyProj.py
We need to Create a Tests directory (Yes the name seems to be critical). And in that Tests folder we place our nose test file. So the Directory structure looks like this.
\MyProj_Source
\MyProj
init.py
MyProj.py
\Tests
test_stuff.py
At this point you need to go to
Preferences-> Tools -> Python Intergrated Tools ** and set **Default Test Runner to be nose
You should now be able to
Manually
The 2nd way is the best option, but it can be a little time consuming.
Hope that helps.
© 2022 - 2024 — McMap. All rights reserved.