我需要測試一個將移動文件的方法。我不想實際發生的文件移動操作,我只需要知道被測做出了正確的呼籲shutil.move
如何修補shutil.move來測試某些方法
的方法是什麼修補shutil.move
最好的方式,使該方法可以調用它沒有做的實際的文件操作?
我就是這麼做的,但很醜,我想使用模擬庫做到這一點:
real_move = ftp2email.shutil.move
move_operations = []
def fake_move(src, dst):
move_operations.append((src, dst))
ftp2email.shutil.move = fake_move
msg_id = '/path/to/message.xml'
self.ch.mark_message(msg_id)
self.assertEqual(move_operations,
[('/path/to/message.xml', '/path/to/archived/message.xml')])
ftp2email.shutil.move = real_move