DocTest in Unittests laufen lassen...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ich würde gern vorhandene DocTests innerhalb vom Unittest Lauf mit Testen lassen...

Mein Aktueller Ansatz ist IMHO viel zu umständlich:

https://github.com/jedie/django-secure- ... octests.py


Erstmal scheint es keinen "Suche im Dateisystem alle DocTests zusammen" zu geben. Oder?
Deswegen die eigene os.walk() Lösung :?

Dann gibt es zwar die "Unittest API" von doctest: https://docs.python.org/3/library/docte ... ittest-api
Aber wie man das nun praktisch Anwendet ist mir schleierhaft.

IMHO fehlt der glue-code als Beispiel in der Doku...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
pillmuncher
User
Beiträge: 1484
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Mit nose als Test Runner sollte das einfach zu bewerkstelligen sein: http://nose.readthedocs.org/en/latest/p ... tests.html
In specifications, Murphy's Law supersedes Ohm's.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Auf was ganz anderes setzten wollte ich nun nicht...

Hätte ich nicht gedacht, das der folgende "Unittest API" Code aus der Doku, einfach nur in "/tests/tests_foo.py" rein muß und dann gehts:

Code: Alles auswählen

def load_tests(loader, tests, ignore):
    tests.addTests(doctest.DocTestSuite(my_module_with_doctests))
    return tests
:shock:

-> https://github.com/jedie/django-secure- ... 4d593b424b

Doch es bleibt dabei: Es gibt kein Automatismus, der im Dateisystem alle DocTests zusammen sammelt, oder?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

@jens: Was meinst Du mit „ganz was anderes“? `nose` lässt halt die Tests die Du schon hast und die Doctests laufen.
Antworten