Testing Files Generator
繁體中文

常見問題

授權、隱私、可重現性,以及人們在把產生器放進建置流程之前會確認的事項。如果這裡沒有你的問題,問題追蹤器是開放的。

這與 dd、fsutil 或 truncate 有何不同?

它們給你的是大小正確但內容空空如也的檔案。用這種方式做出的名為 photo.png 的 2 MB 檔案並不是 PNG,所以任何真正剖析它的程式都會因為錯誤的原因拒絕它,而你的測試也會因為錯誤的原因通過。本工具產生的是大小恰好 2 MB 的真實 PNG,可以在圖片檢視器中開啟,並附上一份說明,告訴你的系統該如何處理它。

tfg generate --format png --size 2mb --out ./fixtures

它免費嗎?我能在工作中使用嗎?

兩者都可以。它以 GPL-3.0 發布,不收取任何費用。沒有帳號,沒有授權金鑰,也沒有付費方案。

我能在閉源產品中使用產生的檔案嗎?

可以。授權涵蓋的是工具的程式碼,而不是工具產生的內容。產生的檔案、配方與清單屬於輸出而非衍生作品,所以你可以提交它們並隨產品散布,不負任何義務。

產生的檔案包含真實的個人資料嗎?

不包含。裡面的一切都由種子合成。不讀取任何資料集,不聯繫任何服務,也不嵌入任何第三方內容。請把產生的電子郵件地址視為無法使用,而不是尚未使用,因為任何隨機字串都有可能碰巧與真實地址相同。

在另一台電腦上能得到完全相同的檔案嗎?

能,只要配方與種子相同,就能逐位元組一致。專案在每次變更時都會測試這一點,要打破它必須提升主版本號。這正是你可以提交一個小配方,而不是大型二進位 fixture 的原因。

它需要連上網際網路嗎?

從不需要。沒有遙測,沒有更新檢查,也沒有雲端用戶端,命令列執行檔裡甚至沒有編譯進網路堆疊。它可以在沒有網路的電腦上執行,也能在封閉的企業環境中使用。

如果我要求格式無法達到的大小會怎樣?

你會收到一個錯誤,說明格式、可能的最小大小、該下限的原因以及應改用什麼,而且不會寫入任何檔案。工具絕不會默默四捨五入。每個下限都列在格式頁面上。

tfg formats png

我能產生刻意損壞的檔案嗎?

可以。加上 --damage zero-head,檔案就會以恰好所要求的大小輸出,開頭幾個位元組被零覆蓋,讀取器會拒絕它,清單也會說明你的系統應該拒絕它。詳情見關於損毀測試檔案的頁面。

tfg generate --format png --size 2mb --damage zero-head --out ./out

接下來會支援哪些格式?

7z、mp3 與 mp4。目前有 26 種格式可以端到端使用。

我可以在哪些系統上執行?

命令列可在 Windows 與 Linux 上執行,支援 Intel 與 ARM,也支援 Apple 晶片的 Mac。桌面視窗提供 Windows(Intel)、Linux(Intel)與 Apple 晶片 Mac 版本。不支援 Intel Mac,也不會為其建置。

我需要安裝什麼嗎?

不需要。下載適合你系統的壓縮檔,解壓縮後執行執行檔即可。沒有安裝程式,沒有需要新增的執行階段,也沒有需要解決的相依套件。如果你裝有 Go,一個 go install 指令同樣可用。

go install github.com/donislawdev/TestingFilesGenerator/cmd/tfg@latest

為什麼在 Windows 上處理數千個檔案比較慢?

因為 Windows 對查看的每個路徑收取較多開銷,而走訪數千個檔案的指令要查看數千個路徑。在一台有 3000 個 1 kB 檔案的電腦上實測,verify 在 Windows 上約需 0.9 秒,在容器中的 Linux 上約需 0.2 秒。輸出路徑較短會讓 Windows 的數字變小,因為檔案上方的每一層資料夾都屬於被查看的內容。

還在猶豫?

使用情境頁面展示了它為之而生的任務,格式頁面列出了每種格式及其能產生的最小檔案。儲存庫中的 README 是完整參考。

免費開源,GPL-3.0。無需註冊。Windows 與 macOS 的下載檔已簽署,啟動時不會出現警告。