Ho due moduli diversi nel mio progetto. Uno è un file di configurazione che contieneCome applicare una costante a Python
LOGGING_ACTIVATED = False
Questa costante viene utilizzata nel secondo modulo (consente di chiamare principale) come la seguente:
if LOGGING_ACTIVATED:
amqp_connector = Connector()
Nella mia classe di test per il modulo principale che vorrei di patch questa costante con il valore
True
Purtroppo la seguente non funziona
@patch("config.LOGGING_ACTIVATED", True)
né questo lavoro:
@patch.object("config.LOGGING_ACTIVATED", True)
Qualcuno sa come patch una costante da diversi moduli?
Mi ha colpito, ero impegnato a cercare di capire se 'patch()' è in grado di applicare patch al modulo '__main__', nel caso in cui ciò fosse significato da" call it main ". –
@SteveJessop: per la cronaca: si lo è. '__main__' è solo un altro modulo per quanto riguarda Python, quindi' patch ('__ main __. somename', somevalue) 'funziona. –
grazie per la risposta veloce. L'istruzione if è effettivamente a livello di modulo. E nella mia classe di test importa il modulo. Quindi non c'è possibilità di riscriverlo per i metodi di prova singoli? –