我正在Python中創建一個文件下載API。 API將能夠使用FTP或SFTP從主機上下載文件(我已經爲兩者實現了單獨的類),並且還應該以CSV文件,數據庫表或Excel文件的形式跟蹤已下載的文件(我已經實施爲所有人分班)。我已經做了一些基本的實現,現在我想單元測試我所有的方法(因爲我不想真的從真實的主機下載文件並保存在我的機器上,但只是想確保它按照它應該的方式工作工作)。我很難爲單元測試找到一個好的起點,特別是單元測試文件處理部分和FTP,SFTP下載器方法。我的完整代碼可以在這裏找到 https://ghostbin.com/paste/o8jxk模擬單元測試文件讀取和寫入蟒蛇2.7
任何幫助或有用的學習資源將不勝感激。
文件的代碼讀寫類
class CSVManager(DownloadManager):
def __init__(self, file_path, csv_file):
self.path = os.path.join(file_path, csv_file)
def register_download(self, file_name):
files = file_name
with open(self.path, "wb") as csv_file:
writer = csv.writer(csv_file, delimiter=',')
for file in files:
writer.writerow(file)
def downloaded(self):
downloaded_files = []
with open(self.path, "rb") as csv_file:
reader = csv.reader(csv_file)
for file in reader:
downloaded_files.append(file)
return downloaded_files
使用模擬FTP方法和模擬方法如果測試文件下載返回虛擬文件名否則無 – Kallz