En python
open(file_path, 'r')
Lorsque vous vous moquez de quelque chose comme, dans un script de test
if __name__ == '__main__':
unittest.main()
Lorsque vous écrivez et exécutez directement
__builtins__.open = MagicMock()
J'étais comme.
Mais depuis la ligne de commande
$ python -m unittest2 -v test_module
Quand tu cours comme
AttributeError: 'dict' object has no attribute 'open'
Mettez-vous en colère.
En ce moment
__builtins__['open']
Vous pouvez vous y référer en faisant comme, donc dans le code de test
def get_builtins_open(self):
if __name__ == '__main__':
return __builtins__.open
else:
return __builtins__['open']
def set_builtins_open(self, input):
if __name__ == '__main__':
__builtins__.open = input
else:
__builtins__['open'] = input
J'ai fait une telle méthode. .. ..
Recommended Posts