2016-03-07 2 views
0

Я пытаюсь запустить несколько тестов для моего приложения 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 
+0

вы можете предоставить файл 'tests.py'? – silviomoreto

+0

Какая версия Django? Какую команду вы используете для запуска своих тестов? Также покажите нам свой файл manage.py. –

+0

Я думаю, что ошибка произошла из-за того, что я запускал тесты, используя затмения, которые запускаются как опция pyunit. –

ответ

0

ОК, я понял, что я сделал не так. Сначала я использовал eclipse-> run и pyunit, который использовал старый код. И затем я получил ошибку импорта coz Я использовал неправильное имя класса ResourceTestCaseMixin вместо ResourceTestCase

Смежные вопросы