首頁 > 後端開發 > Golang > 主體

如何在 Go 測試中最好地處理本地文件?

Mary-Kate Olsen
發布: 2024-11-06 10:56:02
原創
591 人瀏覽過

How to Best Handle Local Files in Go Tests?

在Go 中使用本地文件進行測試

當測試依賴本地文件的功能時,Go 中的最佳實踐是使用專用資料夾命名為測試資料。 go 工具會忽略此資料夾,如文件中所述(輸入 go help 套件)。

使用測試資料的優點:

  • 隔離: testdata 資料夾為儲存測試檔案提供了一個安全且隔離的環境。
  • 方便:您可以在與測試相同的位置輕鬆組織和維護測試資料。
  • 可移植性: testdata 資料夾可以包含在您的 Git 儲存庫中,讓您與其他人共用和協作測試。

testdata 的結構資料夾:

在與 Go 套件相同的目錄中建立一個名為 testdata 的資料夾。然後,您可以將任何測試文件放入此資料夾中。

從testdata 讀取檔案:

要從testdata 資料夾讀取文件,請使用以下程式碼:

<code class="go">package mypackage

import (
    "io/ioutil"
    "os"
    "path/filepath"
)

func readLocalFile(filename string) ([]byte, error) {
    pwd, err := os.Getwd()
    if err != nil {
        return nil, err
    }
    path := filepath.Join(pwd, "testdata", filename)
    return ioutil.ReadFile(path)
}</code>
登入後複製

將filename 替換為您要讀取的檔案的名稱。

替代方法:

雖然建議使用testdata 方法,但您可以也可以考慮其他選項:

  • 暫存檔:您可以在執行測試之前建立臨時文件,但這需要更多設定和清理程式碼。
  • 自訂測試資料夾:建立單獨的測試資料夾是可以接受的,但它提供的隔離性和可移植性比使用測試資料要少。

以上是如何在 Go 測試中最好地處理本地文件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!