如何使用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