2016-05-13 19 views
0

Ich habe ein Modul mit ein paar Funktionen zusammen mit ihren Doctests geschrieben, und ich möchte diese Tests auf Funktionen mit denselben Namen ausführen, die aber von jemand anderem geschrieben wurden.Ausführen von Doctests mit einer anderen Funktion

Die Dokumentation liefert die folgende Snippet für alle Tests für somefunction in mymodule Abrufen und sie dann auf die übliche Art und Weise ausgeführt wird (wie doctest.testmod() läuft):

TESTS = doctest.DocTestFinder().find(mymodule.somefunction) 
DTR = doctest.DocTestRunner(verbose=True) 
for test in TESTS: 
    print (test.name, '->', DTR.run(test)) 

Aber ich weiß nicht, wo von hier aus zu Diese Tests laufen stattdessen unter theirmodule.somefunction. Ich versuchte, das filename Feld von mymodule zu theirmodule in den Example Objekten für jeden Test zu ändern, aber ohne Erfolg. Weiß jemand, wie man das erreicht?

Antwort

0

Dies ist vielleicht nicht die eleganteste Lösung, aber einfaches Kopieren meiner Docstrings, um ihre Funktionen in meinem Skript funktioniert:

theirmodule.somefunction.__doc__ = mymodule.somefunction.__doc__ 

Und dann nur ich brauche die Schnipsel in meiner Frage auf theirmodule.somefunction laufen.

Verwandte Themen