Ich habe ein Python-Programm mit einer globalen Funktion, die zu testen ist schmerzhaft (es benötigt eine große Datenmenge, um richtig zu funktionieren). Was ist der beste Weg, um dies zu umgehen, während Funktionen testen, die es nennen?Wie man eine freie Funktion in Python vortäuscht?
Ich habe festgestellt, dass das folgende funktioniert (aber es macht mich schmutzig, es zu benutzen).
Modul foo:
def PainLiesHere():
return 4; #guaranteed to be random
Modultest
import foo
def BlissLiesHere():
return 5
foo.PainLiesHere = BlissLiesHere
# test stuff