登录
首页 >  Golang >  Go问答

如何处理随机输入和输出值

来源:stackoverflow

时间:2024-04-13 15:54:20 496浏览 收藏

小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《如何处理随机输入和输出值》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

问题内容

我有一个定义 downloadfile 函数的包装器接口。问题在于参数之一具有随机临时目录名,并且输出是随机临时文件名。如何使用 https://github.com/golang/mock 模拟它,以便测试 addfile 函数

var wrapper
func Test(t *testing.T) {
    ctrl, _ := gomock.WithContext(context.Background(), t)
    defer ctrl.Finish()
    m := mock.NewMockWrapperInterface(ctrl)
    m.EXPECT().DownloadFile("myfile", "/var/folders/ls/???").Return("/var/folders/ls/???", nil)
    wrapper = m
    path, err := addFile(myfile, key)
    ...
}

func addFile(myfile, key) (string, error) {
    tmpDirectory := helper.CreateTemporaryDirectory(objectKey)
    defer helper.CleanUpDirectory(tmpDirectory)
    return wrapper.DownloadFile(myfile, tmpDirectory)
}

解决方案


了解匹配器的工作原理。这就是我需要做的

m.EXPECT().DownloadFile("myfile", gomock.Any()).Return("/var/folders/ls/ok", nil)

好了,本文到此结束,带大家了解了《如何处理随机输入和输出值》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

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