DasIch hat geschrieben:Wenn du der Django Dokumentation tatsächlich folgen würdest, würdest du die Tests eines ganzen Projekts nicht zusammen werfen, sondern die Tests für die unterschiedlichen Apps separat halten.
Das die tests bei der jeweiligen App liegen, ist schon klar. Mir geht es darum, diese laufen zu lassen. Dazu finde ich nichts, wie man ein "Test-Project" schnell und einfach aufbaut.
Eigentlich gibt es ja nur drei Seiten:
https://docs.djangoproject.com/en/1.7/t ... /overview/
https://docs.djangoproject.com/en/1.7/t ... ing/tools/
https://docs.djangoproject.com/en/1.7/t ... /advanced/
Dann gibt es noch das Tutorial:
https://docs.djangoproject.com/en/1.7/intro/tutorial05/ aber da geht es um die poll app innerhalb eines Projektes. Deswegen startet man die Tests auch einfach mit:
$ python manage.py test polls
Speziell über das aufrufen der Tests gibt es den Abschnitt
Running tests:
https://docs.djangoproject.com/en/1.7/t ... ning-tests
Aber:
Once you’ve written tests, run them using the test command of your project’s manage.py utility:
Also wieder nur, wenn man ein Projekt hat.
Bei meinem Aktuellen Projekt, hab ich nun wieder ein "Minimal-Test-Projekt" mit eingebaut, hier:
https://github.com/jedie/djangocms-find ... c3d7205db7
Also diese Dateien, meine ich:
https://github.com/jedie/djangocms-find ... /manage.py
https://github.com/jedie/djangocms-find ... ettings.py
https://github.com/jedie/djangocms-find ... ts/urls.py
OK, eine
settings.py und eine
urls.py muß man fast zwangsweise haben. Allerdings gefällt mir die
manage.py nicht.
Damit kann ich nicht einzeltests aufrufen. Also muß ich wieder boilerplate code dazupacken, sowas wie hier:
Code: Alles auswählen
import os
import sys
import django
from django.conf import settings
from django.test.utils import get_runner
def run_tests(test_labels=None):
os.environ['DJANGO_SETTINGS_MODULE'] = 'tests.test_settings'
django.setup()
TestRunner = get_runner(settings)
test_runner = TestRunner()
if test_labels is None:
test_labels = ['tests']
failures = test_runner.run_tests(test_labels)
sys.exit(bool(failures))
if __name__ == "__main__":
run_tests(test_labels = sys.argv[1:])