當(dāng)我在 Go 中編寫需要靜態(tài)文件的測試時(例如hello.txt,我在其中測試了hello.txt正確讀取的程序的文件),我應(yīng)該將靜態(tài)文件放在哪里?我應(yīng)該如何在測試文件中解決它們?也就是說,目前我的setup是本地目錄,GOPATH就是設(shè)置到這個目錄下。我有src/ mypkg/ myfile.go myfile_test.gotestfiles/ hello.txt world.txt現(xiàn)在myfile_test.go,我不想使用絕對路徑來引用testfiles/hello.txt. 有沒有什么慣用的方法來做到這一點(diǎn)?這是一個明智的布局嗎?
1 回答

www說
TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個贊
常見的方法是擁有,例如
$GOPATH/src/
mypkg/
myfile.go
myfile_test.go
_testdata/
hello.txt
world.txt
然后,在您的 foo_test 中,使用
f, err := os.Open("_testdata/hello.txt")
....
或者
b, err := ioutil.ReadFile("_testdata/hello.txt")
....
測試包確保 CWD$GOPATH/src/mypkg在測試二進(jìn)制文件執(zhí)行時。
- 1 回答
- 0 關(guān)注
- 177 瀏覽
添加回答
舉報
0/150
提交
取消