go で単体テストを作成しましたが、同じファイルの init メソッドがプロジェクトのルートにあるファイルを開きます。私が抱えている問題は、テストを実行すると、テストのパッケージが必要なファイルを含まないルート ディレクトリになることです。テストファイルのディレクトリに重複ファイルを作成せずに、テスト関数にファイルを表示するように指示するにはどうすればよいですか?
ファイル構造:
main.go
|+-helpers
|+-data.go
|+-data_test.go
required_file.txt
テスト コマンド:
go test github.com/testproj/helpers
data.go のコード:
func init() {
file, err := os.Open("required_file.txt")
if err != nil {
log.Fatal(err) <-- required_file.txt not found
}
}