Для запуска моих тестов Django я использовал файл manage.py. Но я решил создать свой файл runtests.py.
Как указано в Django док, файл manage.py будет выполнять все методы, имя которых начинается с "test" и чей класс наследует TestCase!
Моя цель - использовать этот метод поиска для отображения всех возможных тестов (а не их запуска). Так вы знаете, где я могу взять этот "метод поиска"?
Спасибо !






То, что вы ищете, называется «тестовое обнаружение», и вам не нужно делать это вручную.
Если вы хотите написать автономный скрипт, запускающий ваши тесты, вы можете просто вызвать средство запуска тестов Django вручную из кода Python после настройки. Процесс для этого:
# First you need settings.
# You can do this by setting DJANGO_SETTINGS_MODULE:
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'path.to.your.settings')
# Or you can do it manually:
SETTINGS_DICT = {
# Put all the settings you'll need in here...
}
from django.conf import settings
settings.configure(**SETTINGS_DICT)
import django
django.setup()
import sys
# Now you can run tests:
from django.test.utils import get_runner
TestRunner = get_runner(settings)
test_runner = TestRunner(verbosity=2, interactive=True)
failures = test_runner.run_tests(
['test_module_to_look_in']
)
sys.exit(bool(failures))
Спасибо, но на самом деле я бы отображал только все тестовые примеры своего приложения.
Обнаружение тестов Django использует код обнаружения и загрузки тестов модуля Python unittest. Вы можете прочитать, как это делает Django, здесь: github.com/django/django/blob/…