Does anyone have any experience using different settings files for the Django test runner in PyCharm?
My project is structured as follows:
+penguinproject +apps +settings --__init__.py --common.py # this one is imported by the others below --development.py --production.py --staging.py +static ...
Running tests using the manage.py command (and adding --settings = settings.development) works fine, but I would like to use the built-in test runner (as it is better integrated with the IDE).
I think the problem is that my settings are loading incorrectly as I get this error:
E:\Development\django_projects\penguinproject\Scripts\python.exe "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pydev\pydevd.py" --client 127.0.0.1 --port 49898 --file "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pycharm\django_manage.py" test items Testing started at 20:36 ... pydev debugger: warning: psyco not available for speedups (the debugger will still work correctly, but a bit slower) pydev debugger: starting E:\Development\django_projects\penguinproject\lib\site-packages\path.py:32: DeprecationWarning: the md5 module is deprecated; use hashlib instead import sys, warnings, os, fnmatch, glob, shutil, codecs, md5 settings file: development pycharm django settings imported Manager file: manage Traceback (most recent call last): File "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pydev\pydevd.py", line 1165, in <module> debugger.run(setup['file'], None, None) File "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pydev\pydevd.py", line 929, in run execfile(file, globals, locals) #execute the script File "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pycharm\django_manage.py", line 15, in <module> run_module(manage_file, None, '__main__') File "c:\python26\Lib\runpy.py", line 140, in run_module fname, loader, pkg_name) File "c:\python26\Lib\runpy.py", line 34, in _run_code exec code in run_globals File "E:\Development\django_projects\penguinproject\yabe\manage.py", line 11, in <module> execute_manager(settings) File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\__init__.py", line 438, in execute_manager utility.execute() File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\__init__.py", line 379, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\base.py", line 191, in run_from_argv self.execute(*args, **options.__dict__) File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\base.py", line 220, in execute output = self.handle(*args, **options) File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\commands\test.py", line 37, in handle failures = test_runner.run_tests(test_labels) File "E:\Development\django_projects\penguinproject\lib\site-packages\django\test\simple.py", line 396, in run_tests suite = self.build_suite(test_labels, extra_tests) File "E:\Development\django_projects\penguinproject\lib\site-packages\django\test\simple.py", line 285, in build_suite app = get_app(label) File "E:\Development\django_projects\penguinproject\lib\site-packages\django\db\models\loading.py", line 140, in get_app raise ImproperlyConfigured("App with label %s could not be found" % app_label) django.core.exceptions.ImproperlyConfigured: App with label items could not be found
I do not get this error using manage.py from the command line (also when called from the IDE), which makes me think that the development.py options are loaded incorrectly. Debugging shows that in get_app () (in the load.py module) settings.INSTALLED_APPS is an empty list.
Has anyone succeeded in setting up a test runner with this setting of configuration files?
Thank you very much in advance!