登录
首页 >  Golang >  Go问答

Go 中的文件夹结构测试方法:使用假文件夹结构测试

来源:stackoverflow

时间:2024-02-06 15:03:19 124浏览 收藏

小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《Go 中的文件夹结构测试方法:使用假文件夹结构测试》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

问题内容

我正在编写一个函数来执行从源文件夹到目标文件夹的递归深层复制。当我的逻辑有效时,我想编写单元测试以确保所有子文件夹和文件都被正确复制。我相信使用实际的文件和文件夹不是一个好的做法,所以我想知道如何存根 file 包函数。

具体来说,我使用 file.MatchFiles(path) 来获取提供的路径中的所有文件和文件夹,然后检查它是否是目录,以递归地执行相同的操作。


正确答案


什么是 file 包,你的意思是 os 还是 path/filepath ?无论如何,我真的不明白你的目的是什么。例如,filepath 的功能已通过包本身的测试得到保证。您不需要为已经附带此类测试的功能编写额外的单元测试。但无论如何,回答你关于良好实践的问题:这些已发布的官方测试可以真正访问实际文件,所以我认为这是一种有效的方法。有道理:存根您真正想要测试的行为是一个坏主意。

因此,如果您使用 filepath.WalkDir(),则可以使用 FileInfo 的自定义/模拟实现为 WalkFunc 编写单元测试。如果您使用其他软件包,例如os,您还可以提取自定义逻辑并以类似的方式进行测试。如果您仍然对所有组合在一起的结果有疑问......那么,就像在核心库中那样做,并使用真实的文件进行测试。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>