Sto scrivendo un test per un codice che controlla un valore in os.environ
(so che questo non è ottimale, ma devo andare con esso). Vorrei rimuovere una voce da os.environ per la durata del test. Non sono sicuro che la simulazione supporti questo. So che lo patch.dict
può essere utilizzato per modificare un elemento, ma voglio rimuovere la coppia chiave/valore. Vorrei qualcosa seguendo queste linee:Utilizzo di Python's mock per eliminare temporaneamente un oggetto da un dict
print os.environ
{ ... , 'MY_THING': 'foo', ... }
with mock.patch.dict.delete('os.environ', 'MY_THING'):
# run the test
# ('MY_THING' in os.environ) should return False
# everything back to normal now
print os.environ
{ ... , 'MY_THING': 'foo', ... }
C'è un modo per eseguire una tale impresa?
mock.patch.dict non funziona così, perché l'ho inventato :) La tua soluzione funziona comunque per me. –