Попытка запустить этот тестовый файл в простом приложении 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