Go テストでローカル ファイルを最適に処理するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-06 10:56:02
オリジナル
592 人が閲覧しました

How to Best Handle Local Files in Go Tests?

Go でのローカル ファイルを使用したテスト

ローカル ファイルに依存する機能をテストする場合、Go のベスト プラクティスは専用フォルダーを使用することです。テストデータという名前。ドキュメントで説明されているように (go ヘルプ パッケージと入力します)、このフォルダーは go ツールによって無視されます。

testdata を使用する利点:

  • 分離性: 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>
ログイン後にコピー

ファイル名を読み取りたいファイルの名前に置き換えます。

代替アプローチ:

testdata の使用が推奨されるアプローチですが、次のこともできます。他のオプションも考慮してください:

  • 一時ファイル: テストを実行する直前に一時ファイルを作成できますが、これにはより多くのセットアップ コードとクリーンアップ コードが必要です。
  • カスタム テスト フォルダー: 別のテスト フォルダーを作成することもできますが、testdata を使用する場合よりも分離性と移植性が低くなります。

以上がGo テストでローカル ファイルを最適に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!