为了账号安全,请及时绑定邮箱和手机立即绑定

测试中的静态文件

测试中的静态文件

Go
猛跑小猪 2021-06-09 02:01:23
当我在 Go 中编写需要静态文件的测试时(例如hello.txt,我在其中测试了hello.txt正确读取的程序的文件),我应该将静态文件放在哪里?我应该如何在测试文件中解决它们?也就是说,目前我的setup是本地目录,GOPATH就是设置到这个目录下。我有src/   mypkg/        myfile.go        myfile_test.gotestfiles/          hello.txt          world.txt现在myfile_test.go,我不想使用绝对路径来引用testfiles/hello.txt. 有没有什么惯用的方法来做到这一点?这是一个明智的布局吗?
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超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在测试二进制文件执行时。


查看完整回答
反对 回复 2021-06-28
  • 1 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信