Go: テストで特定の作業ディレクトリを使用する方法
Go で単体テストを作成する場合、テストが必要な設定ファイルへのアクセス。 「go test」のデフォルトの動作は、作業ディレクトリがプロジェクトのルートであることを前提としています。ただし、特定のシナリオでは、テスト コードがプロジェクト内の異なるディレクトリに配置されているため、ファイルの検索に関連する問題が発生する可能性があります。
解決策: テスト用の作業ディレクトリの設定
テスト用に特定の作業ディレクトリを指定するには、次の方法を利用できます:
package main import ( "log" "os" "testing" ) func TestMain(m *testing.M) { // Change the working directory to the test directory. pwd, err := os.Getwd() if err != nil { log.Fatalf("os.Getwd() failed: %v", err) } testDir := pwd + "/test_directory" if err := os.Chdir(testDir); err != nil { log.Fatalf("os.Chdir() failed: %v", err) } // Run the tests. os.Exit(m.Run()) }
package sample import ( "testing" "runtime" "fmt" ) func TestGetFilename(t *testing.T) { _, filename, _, _ := runtime.Caller(0) testDir := filepath.Dir(filename) if err := os.Chdir(testDir); err != nil { t.Fatalf("os.Chdir() failed: %v", err) } // Run the rest of the test. }
これらのアプローチのいずれかを実装することで、テストが必要な構成ファイルに確実にアクセスでき、テストを正常に実行できるようになります。
以上がGo テスト用の作業ディレクトリを指定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。