Ich schreibe Komponententests für eine Funktion, f, die andere Funktionen/Klassen importiert, mit denen der Komponententest nicht (direkt) interagiert. Gibt es eine Möglichkeit, diese Funktionen aus dem Komponententest zu patchen (vielleicht in set_up())?Unit-Test mit Mock und Patch
Als Referenz verwende ich Python 2.7.
Von der unittest, möchte ich das Verhalten von Helfer ändern/patchen.
In Unittest-Datei:
def test_some_function():
assert(some_function() == True)
In some_function() Definition
import helper
def some_function():
foo = helper.do_something()
return foo & bar
Bitte geben Sie ein [mcve] Ihres Szenarios an. Zeigen Sie Ihren Code und Testcode und erklären Sie, welche Probleme Sie haben. – idjaw
Bearbeitet. Hoffentlich ist das genug. Ich glaube nicht, dass es viel mehr Code gibt, den ich einfügen kann, da dies eher eine allgemeine Frage ist. Ich weiß, dass ich Patches usw. in einer einzigen Datei packen kann, aber ich möchte das Verhalten für die Komponententests ändern können. Ich habe versucht, einen set_up() - Patch-Befehl zu verwenden, konnte es aber nicht zum Laufen bringen. – PK5144
Also, Sie wollen kontrollieren, was 'helper.do_etwas 'tut? Mit anderen Worten, Sie versuchen, das zu verspotten, um seine Rückkehr zu kontrollieren, um Ihre Unit-Tests für 'some_function' zu schreiben? Denn das ist definitiv machbar – idjaw