如何使用Go接口测试GoogleAPI Golang库?

如何使用Go接口测试GoogleAPI Golang库?,go,google-drive-api,Go,Google Drive Api,我尝试使用接口来测试使用的代码 当我尝试运行此操作时,会出现以下错误: $ go run so.go ./so.go:24: cannot use drive.Files (type *drive.FilesService) as type MyFilesService in argument to GetInfo: *drive.FilesService does not implement MyFilesService (wrong type for Get method)

我尝试使用接口来测试使用的代码

当我尝试运行此操作时,会出现以下错误:

$ go run so.go
./so.go:24: cannot use drive.Files (type *drive.FilesService) as type MyFilesService in argument to GetInfo:
        *drive.FilesService does not implement MyFilesService (wrong type for Get method)
                have Get(string) *drive.FilesGetCall
                want Get(string) *MyFilesGetCall
./so.go:28: fService.Get(id).Do undefined (type *MyFilesGetCall has no field or method Do)
界面似乎只工作1级深度

有人能推荐一种模拟这种依赖关系的替代方法吗

界面似乎只工作1级深度

Go没有合作/创新的概念。
Get
的签名与
myfileservice
接口不兼容。正如错误消息告诉您的:

*drive.FilesService does not implement MyFilesService (wrong type for Get method)
    have Get(string) *drive.FilesGetCall
    want Get(string) *MyFilesGetCall
有人能推荐一种模拟这种依赖关系的替代方法吗


myfileservice
更改为实际实现的
*drive.fileservice

*drive.FilesService有一个Do方法,返回(*drive.File,error),那么为什么我不能将其与MyFilesService交换如下内容<代码>键入MyFilesGetCall接口{Do()(*drive.File,error)}键入myfileservice接口{Get(string)*MyFilesGetCall}
*drive.FilesService does not implement MyFilesService (wrong type for Get method)
    have Get(string) *drive.FilesGetCall
    want Get(string) *MyFilesGetCall