Django Не удалось импортировать тестовый модуль - PullRequest
1 голос
/ 19 января 2020

Попытка запустить этот тестовый файл в простом приложении Django страниц из книги Django для начинающих. В книге предложено импортировать SimpleTestCase b c, при этом базы данных не используются.

# pages/tests.py

from django.test import SimpleTestCase

class PagesTests(SimpleTestCase):
    def test_home_page_status_code(self):
        response = self.client.get('/')
        self.assertEqual(response.status_code, 200)

    def test_about_page_status_code(self):
        response = self.client.get('/about/')
        self.assertEqual(response.status_code, 200)

И продолжайте получать это сообщение об ошибке:

ERROR: pages.tests (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: pages.tests
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/loader.py", line 436, in _find_test_path
    module = self._get_module_from_name(name)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/loader.py", line 377, in _get_module_from_name
    __import__(name)
ModuleNotFoundError: No module named 'pages.tests'


----------------------------------------------------------------------
Ran 3 tests in 0.000s

FAILED (errors=3)
(pages) bash-3.2$ python3 manage.py test
System check identified no issues (0 silenced).
EE
======================================================================
ERROR: pages.pages (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: pages.pages
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/loader.py", line 470, in _find_test_path
    package = self._get_module_from_name(name)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/loader.py", line 377, in _get_module_from_name
    __import__(name)
ModuleNotFoundError: No module named 'pages.pages'


======================================================================
ERROR: pages.pages_project (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: pages.pages_project
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/loader.py", line 470, in _find_test_path
    package = self._get_module_from_name(name)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/loader.py", line 377, in _get_module_from_name
    __import__(name)
ModuleNotFoundError: No module named 'pages.pages_project'

Похоже, django не может найти тестовый модуль .... сначала я Я подумал, что это сбивает с толку b c есть две директории под названием 'pages', поэтому я безуспешно переместил файл tests.py. Я также создал отдельный каталог для тестов («Нет модуля с именем pages.test»)

Я также играл с двумя файлами views.py (pages / views.py и pages / pages / views.py), создавая они идентичны, потому что я не был уверен, что это была проблема. Большинство запросов SO не дают результатов для Python 8, так что интересно, может ли это быть фактором?

Вот мое дерево файлов:

    .
    ├── Pipfile
    ├── Pipfile.lock
    ├── pages
    │   ├── Pipfile
    │   ├── Pipfile.lock
    │   ├── __init__.py
    │   ├── admin.py
    │   ├── apps.py
    │   ├── db.sqlite3
    │   ├── manage.py
    │   ├── migrations
    │   │   └── __init__.py
    │   ├── models.py
    │   ├── pages
    │   │   ├── __init__.py
    │   │   ├── admin.py
    │   │   ├── apps.py
    │   │   ├── migrations
    │   │   │   └── __init__.py
    │   │   ├── models.py
    │   │   ├── urls.py
    │   │   └── views.py
    │   ├── pages_project
    │   │   ├── __init__.py
    │   │   ├── asgi.py
    │   │   ├── settings.py
    │   │   ├── urls.py
    │   │   └── wsgi.py
    │   ├── templates
    │   │   ├── about.html
    │   │   ├── base.html
    │   │   └── home.html
    │   ├── tests.py
    │   ├── urls.py
    │   └── views.py
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...