在 Go 中,單元測試在存取位於特定工作目錄中的設定檔時可能會遇到挑戰。本文解決了這樣的問題,並探討如何引導 go test 指令使用所需的工作目錄來執行測試。
考慮以下情況:Go 應用程式的單元測試依賴 conf/* 中存在的設定檔.conf。但是,在執行這些測試時,它們會失敗,因為二進位檔案無法找到設定檔。
要解決此問題,導航到包含 conf/ 目錄的目錄並執行 go test 似乎很直觀。然而,這種方法常常存在不足之處。為了確保測試在正確的工作目錄中執行,Go 提供了特定的機制:
Go 中的運行時套件提供了一個名為Caller 的函數,可以檢索有關來源的資訊調用它的檔案。此資訊包括檔案名稱和路徑:
透過使用此技術,我們可以找到包含設定檔的目錄並將該資訊傳遞給 go test 以設定測試執行的工作目錄。
以上是如何正確設定Go測試的工作目錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!