hallo,
ich teste meine django-applikation auch mit doctests. dort werden nur zwei dateien pro app nach doctests durchsucht, nämlich die models.py und die tests.py.
nun habe ich aber auch in der templatetags/math_extra.py doctests stehen, die leider nicht automatisch mit ausgeführt werden.
in der doku von django und den doctests habe ich leider nichst genaueres dazu gefunde, wie ich bewirke, dass auch die doctests in der templatetags/math_extra.py ausgeführt werden...
gibts dafür eine lösung?
doctest aus anderer datei aufrufen
Über `TEST_RUNNER` kann man in `settings.py` einstellen, was aufgerufen werden soll, wenn man `manage.py test` ausführt. Dort steht standardmäßig `django.test.simple.run_tests` und man könnte eine eigene Funktion angeben, die auch andere Dateien berücksichtigt. Ich finde den Code jedoch alles andere als übersichtlich und außer das ich sehe, dass `get_tests` genau ein Modul mit dem Namen aus `TEST_MODULE` lädt, bin ich da schnell verloren.
Einfacher ist vielleicht, einfach `python -m doctest -v yourfile.py` zu benutzen, was mit dem aktuellen Python 2.6.x funktioniert.
Stefan
Einfacher ist vielleicht, einfach `python -m doctest -v yourfile.py` zu benutzen, was mit dem aktuellen Python 2.6.x funktioniert.
Stefan
-
- User
- Beiträge: 28
- Registriert: Dienstag 18. September 2007, 14:59
ich hab jetzt so viel rausgefunden: django nutzt eine modifizierte version von doctest (zu finden in django.test._doctest).
und soweit wollte ich mich dann doch nicht einlesen. ich glaube ich schreibe mir lieber ein kleines tests.sh, um die tests nacheinander aufzurufen, so wie ich das möchte. vielen dank jedenfalls für die antwort.These changes allow for a DoctestRunner and Doctest base
class to be specified when constructing a DoctestSuite.