最近我一直在研究的程序中的一個常見任務是以某種方式修改文本文件。 (嘿,我是在Linux上,一切是一個文件,而我做大型的系統管理員。)單元測試文件修改
但文件中的代碼修改可能無法在我的桌面盒存在。如果它在我的桌面上,我可能不想修改它。
我讀過關於深入Python單元測試,這是很清楚我想要測試一個十進制轉換爲羅馬數字(在DintoP的例子)的應用程序時做的。測試很好地獨立。你不需要驗證程序是否打印正確的東西,你只需要驗證函數是否將正確的輸出返回給定的輸入。
在我的情況,但是,我們需要測試程序正確地修改其環境。這是我想出來的:
1)創建標準位置中的「原始」的文件,或許是/ tmp目錄。
2)運行該修改文件,路徑傳遞到/ tmp中文件的功能。
3)驗證/ tmp中的文件是否正確更改;通過/失敗單元測試相應。
這對我來說似乎很笨拙。 (如果你想驗證文件的備份副本是否正確創建,那麼還可以獲得更多的信息,等等)有沒有人想出了一個更好的方法?