[英]What is the best way to assert the contents of a zip archive in Elixir?
[英]The best way to verify a zip file function in Elixir
我有一個包含zip函數的路徑庫,在編寫單元測試時,我試圖找到驗證zip函數正確工作的最佳方法。
有人可以告訴我最好的方式來驗證zip功能正常工作嗎?
我能想到的幾種方法是:
但是,這兩種方法似乎有點漫長,我猜這不是完全慣用的長生不老葯。 有人可以告訴我更好的方法嗎?
我將創建一個測試文件目錄,以將其壓縮到您的單元測試中,使用受信任的實用程序將其壓縮,並得到生成的md5。 然后對於您的單元測試,執行zip功能,獲取md5,然后與經過驗證的md5進行比較。
如果我是正確的,那么有些參數可能會影響zip處理的結果(例如塊大小)。 因此,除非您的目的是要詳盡地檢查您的zip程序是否再現了全部或部分zip功能,否則我發現更有趣的是驗證系統中的各種文件(或一些隨機文件)是否可以通過您的功能進行壓縮,然后使用不同的解壓縮工具在外部進行壓縮,最后比較文件與原始文件是否相同。 (當然,這會花費更多時間,但可以輕松實現自動化)。
關於MD5的使用而不是文件比較,我認為一方面文件比較容易編寫,另一方面您需要讀取整個文件來計算MD5,因此我認為不值得使用這個技巧可以加速比較-(特別是如果文件不同:o)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.