草庐IT

google-test

全部标签

unit-testing - golang 中的单元测试

我目前正在考虑在Go中为我的服务创建一些单元测试,以及在该功能之上构建的其他功能,我想知道在Go中进行单元测试的最佳方法是什么?我的代码如下所示:typeBBPeripheralstruct{client*http.Clientendpointstring}typeBBQuerystruct{Namestring`json:"name"`}typeBBResponsestruct{Brandstring`json:"brand"`Modelstring`json:"model"`...}typePeripheralstruct{BrandstringModelstring...}typ

testing - 在仅适用于某些版本的 golang 中运行测试

这个问题在这里已经有了答案:HowdoIskipatestsfileifitisrunonsystemswithgo1.4andbelow?(2个答案)关闭6年前。我这里有一个库(https://github.com/turtlemonvh/altscanner),其中包含将自定义扫描仪的功能与bufio.Scanner进行比较的测试.特别是,我将我的方法与theBuffermethod进行比较哪个wasn'taddeduntilgo1.6.我的实际代码适用于gobackto1.4的版本,但我想包括这个使用Buffer的测试(我也想添加一个基准测试)bufio.Scanner的功能对象

testing - 测试 Go 时如何跨包共享设置和拆卸方法?

假设我有两个包foo和bar。每个包都有文件和一个测试文件:foo---widget.go---widget_test.gobar---wingding.go---wingding_test.go现在对于两个测试(widget_test.go和wingding_test.go),我想分享一些设置代码。我知道我可以将这段代码放在main_test.go中的每个包中。但我显然不想在两个地方复制/粘贴代码。那么我可以将此代码放在哪里以便跨包共享呢? 最佳答案 把它放在另一个包baz中,foo和bar都在他们的测试中导入。我们将其用于测试中

api - 在 Go 中使用 pagetoken 遍历 google places API 时遇到问题

我在Go中循环访问GooglePlacesAPI时遇到问题。Google的PlacesAPI最多返回20个结果,并使用一个pagetoken参数添加到查询中以返回接下来的20个结果,直到没有剩余为止。我目前能够发送查询请求,返回json并将其输出到终端,但是当我尝试循环并将pagetoken参数添加到查询时,它运行但仅再次返回第一页结果,但带有另一个页面标记。知道我做错了什么吗?主要包import("bytes""encoding/json""fmt""io/ioutil""log""net/http""strconv"//"os")typeGooglePlacesstruct{HTM

testing - go中接口(interface)模拟的方法

如果我有一个如下所示的handlerfunc。“模拟”或注入(inject)包装某些对象以进行测试的接口(interface)的最佳方法是什么?funcGetOrCreateUser(whttp.ResponseWriter,r*http.Request){user:=GetUserFromContext(r.Context())ifcreated:=user.GetOrCreate();created{smtp.SendEmail(...)return}else{w.Write([]byte("HelloUser!"))}}我遇到的唯一方法似乎是这样做:typeMailerinter

go - 使用 Google Golang Sheets API V4/Drive API V3 获取电子表格 ID?

我在我的一个小项目中使用Golang,目前正在尝试根据确切的文件系统路径(在云端硬盘中)和电子表格/工作表名称提取电子表格ID。但是,查看Golang中的API库,我没有看到允许我执行此操作的函数。一般来说,我对这种编程还很陌生,如果这有一个微不足道的解决方案,请提前致歉。谢谢! 最佳答案 您可以在Google的DriveAPI中使用drive.files.list。drive.files.list可以从您的GoogleDrive中搜索包含文件夹信息的文件。根据您的问题,我认为可以执行以下2个步骤。使用drive.files.lis

google-app-engine - aetest.NewContext() 是否需要参数?

我正在学习如何为Appengine应用创建Golang测试。文档示例对我来说没有意义。https://cloud.google.com/appengine/docs/standard/go/tools/localunittesting/reference文档似乎说你可以创建一个上下文:=aetest.NewContext()当我尝试这样做时,我收到一个错误,提示aetest.NewContext需要参数。$gotest-v./skincare_test.go:12:notenoughargumentsincalltoaetest.NewContexthave()want(*aetest

testing - echo c.Get ("user") 在测试环境中不起作用

我正在尝试测试基于echo框架/路由器构建的golangAPI。我有以下测试......funcTestLogout(t*testing.T){loadConfig()db:=stubDBs(t)Convey("Whenyoupostto/logout",t,func(){Convey("withavalidtoken,youshouldgetaasuccessmsgandbeloggedout",func(){e:=echo.New()e.Use(middleware.JWTWithConfig(middleware.JWTConfig{SigningKey:[]byte("secr

go - 如何使用从 google api 收到的响应数据?

我正在尝试使用oauth2使用googleapi身份验证创建登录。我收到来自googleapi(response.body)的响应:{"id":"receivedID","email":"EMAIL","verified_email":true,"name":"Name",}如何在go程序中访问该数据,以便将其存储在数据库中?packagemainimport("fmt""io/ioutil""log""net/http""net/url""strings""golang.org/x/oauth2""golang.org/x/oauth2/google""encoding/json")

google-app-engine - 由于版本 google.golang.org/appengine 已过时,如何导入 Golang Appengine 的 github 版本?

这个问题在这里已经有了答案:Gogeterrorwhenusingthrottled("gopkg.in/throttled/throttled.v2")library(1个回答)关闭5年前。google.golang.org/appengine上的存储库已过时(特别是aetest包),最新版本的aetest看起来像是在github.com/golang/appengine我不确定如何正确地将存储库代码导入我的本地计算机,因为代码存储库中的导入路径指向过时的存储库。我尝试过:$去获取github.com/golang/appenginepackagegithub.com/golang/