Python & Django - 'ModuleNotFoundError: Нет модуля с именем 'GoalCategoryTest'' при попытке импортировать TestCase
Итак, у меня есть такой TestCase
файл
CategorySearchTest.py
class CategorySearchTest(TestCase):
@classmethod
# Generates Test DB data to persist throughout all tests
def setUpTestData(cls) -> None:
cls.access_token = get_test_user_access_token()
cls.user = get_or_create_test_user_in_DB()
cls.goal_category_name_list = ['Health', 'Fitness', 'Art', 'Relationships', 'Artist']
Я пытаюсь импортировать это в файл init.py в той же папке, чтобы я мог запускать все тесты в этой папке командой python manage.py test <root>\test\CategoriesTest
.
мой __init__.py
файл выглядит следующим образом
from GoalCategoryTest import *
вот моя структура папок
Я получаю ошибку из моего __init__.py
файла, который является ModuleNotFoundError: No module named 'GoalCategoryTest'
. Почему это происходит?
Я пытался
from GoalCategoryTest import *
и
import GoalCategoryTest
также пытался
from CategoriesTests.GoalCategoryTest import *
и все выдают одну и ту же ошибку.
Итак, если вы хотите иметь различные подпапки в папке test
, которые могут быть запущены, вам нужно назвать все ваши тестовые файлы как test*.py
, как указано в документации Django, и добавить пустой файл __init__.py
в каждую папку, тогда Django test автоматически обнаружит и добавит тесты в набор тестов, что более прагматично, чем то, что я делал в посте, когда спрашивал.
https://docs.djangoproject.com/en/3.2/topics/testing/overview/ https://www.digitalocean.com/community/tutorials/how-to-add-unit-testing-to-your-django-project https://realpython.com/testing-in-django-part-1-best-practices-and-examples/