Я пытаюсь запустить несколько тестов для моего приложения tastypie, но я получаю следующую ошибку.Модульное тестирование в Django/Tastypie
Finding files... done.
Importing test modules ... Traceback (most recent call last):
File "C:\Users\user\.p2\pool\plugins\org.python.pydev_4.4.0.201510052309\pysrc\pydev_runfiles.py", line 468, in __get_module_from_str
mod = __import__(modname)
File "DjangoTastypie/myApp\tests.py", line 2, in <module>
from tastypie.test import ResourceTestCaseMixin
File "C:\Python27\lib\site-packages\tastypie\test.py", line 9, in <module>
from tastypie.serializers import Serializer
File "C:\Python27\lib\site-packages\tastypie\serializers.py", line 12, in <module>
from tastypie.exceptions import BadRequest, UnsupportedFormat
File "C:\Python27\lib\site-packages\tastypie\exceptions.py", line 83, in <module>
class ImmediateHttpResponse(TastypieError):
File "C:\Python27\lib\site-packages\tastypie\exceptions.py", line 94, in ImmediateHttpResponse
_response = HttpResponse("Nothing provided.")
File "C:\Python27\lib\site-packages\django\http\response.py", line 340, in __init__
super(HttpResponse, self).__init__(*args, **kwargs)
File "C:\Python27\lib\site-packages\django\http\response.py", line 125, in __init__
content_type = '%s; charset=%s' % (settings.DEFAULT_CONTENT_TYPE,
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 48, in __getattr__
self._setup(name)
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 44, in _setup
self._wrapped = Settings(settings_module)
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 92, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "C:\Python27\Lib\importlib\__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named DjangoTastypie.settings
ERROR: Module: tests could not be imported (file: DjangoTastypie\myApp\tests.py).
done.
Traceback (most recent call last):
File "C:\Users\user\.p2\pool\plugins\org.python.pydev_4.4.0.201510052309\pysrc\runfiles.py", line 234, in <module>
main()
File "C:\Users\use\.p2\pool\plugins\org.python.pydev_4.4.0.201510052309\pysrc\runfiles.py", line 78, in main
return pydev_runfiles.main(configuration) # Note: still doesn't return a proper value.
File "C:\Users\user\.p2\pool\plugins\org.python.pydev_4.4.0.201510052309\pysrc\pydev_runfiles.py", line 835, in main
PydevTestRunner(configuration).run_tests()
File "C:\Users\user\.p2\pool\plugins\org.python.pydev_4.4.0.201510052309\pysrc\pydev_runfiles.py", line 793, in run_tests
MyDjangoTestSuiteRunner(run_tests).run_tests([])
File "C:\Users\user\.p2\pool\plugins\org.python.pydev_4.4.0.201510052309\pysrc\pydev_runfiles.py", line 813, in run_tests
raise AssertionError("Unable to run suite with DjangoTestSuiteRunner because it couldn't be imported.")
AssertionError: Unable to run suite with DjangoTestSuiteRunner because it couldn't be imported.
Нужно ли добавить что-нибудь в раздел installed_apps файла settings.py? Или мои тесты нужно найти в другом месте? Сейчас я использую базовую структуру, которую вы получаете при запуске нового проекта Django, и мой тест находится на test.py
ОК, поэтому я выяснил, что проблема была в Eclipse -> Run as pyunit. Теперь, когда я запускаю его с помощью метода manage.py, я получаю эту ошибку.
======================================================================
ERROR: myApp.tests (unittest.loader.ModuleImportFailure)
----------------------------------------------------------------------
ImportError: Failed to import test module: myApp.tests
Traceback (most recent call last):
File "C:\Python27\Lib\unittest\loader.py", line 254, in _find_tests
module = self._get_module_from_name(name)
File "C:\Python27\Lib\unittest\loader.py", line 232, in _get_module_from_name
__import__(name)
File "C:\Users\dhanushka.amarakoon\git\lcapi\DjangoTastypie\myApp\tests.py", line 2, in <module>
from tastypie.test import ResourceTestCaseMixin
ImportError: cannot import name ResourceTestCaseMixin
вы можете предоставить файл 'tests.py'? – silviomoreto
Какая версия Django? Какую команду вы используете для запуска своих тестов? Также покажите нам свой файл manage.py. –
Я думаю, что ошибка произошла из-за того, что я запускал тесты, используя затмения, которые запускаются как опция pyunit. –