草庐IT

test_driver

全部标签

mongodb - mongo-go-driver 投影数组长度

我正在尝试对文档数组中的元素数量进行预测。options.SetProjection(bson.M{"foo":true,"nrOfBars":bson.M{"$size":"$bars"},})bars是数组的字段名。尽管此查询始终返回0而不是数组长度。如何使用新的mongo-go-driver正确查询数组的长度? 最佳答案 您正在尝试使用聚合运算符作为投影文档的一部分。projectiondocument用于简单查询以仅返回某些字段。您要使用的是aggregationpipeline中的$project阶段。这与简单的投影文档不

go - 如何处理 'go test all' 中的预期+无关故障?

我正在使用NPM来管理使用go1.11模块的go包的构建/测试/版本生命周期。在发布之前,我想检查“一切”,包括模块,所以我运行:gotestall(在所有包含的模块中运行测试)。问题是go1.11.5中的标准os包(至少)在某些Mac版本/环境(包括我的)上失败。这没关系,与我的目的无关,因为失败发生在我不使用的功能中。但是,这会导致发布过程失败,因为gotest以非零状态退出。关于如何处理这个问题有什么建议吗?如果有一种方法可以为我本地测试的调用树中的函数运行所有测试,那就太好了(gotestall-relevant)。或者,如果我可以命名并跳过测试,那也很好。我知道-run标志,

go - 无法理解 go test -race : RACE: DATA WARNING stack trace

我在测试我的项目时遇到了DATARACE警告,想知道是否有人愿意帮助我破译这个问题。我过去从未尝试过测试go例程,我发现很难全神贯注于数据竞赛。我在描述中提供了指向未解决问题的链接,并在问题描述中提供了跟踪。我真的很感激一些帮助,只是从学习调试类似问题和为将来的go例程编写更好的测试方面。https://github.com/nitishm/vegeta-server/issues/52下面还提供了跟踪的片段===RUNTest_dispatcher_Cancel_Error_completedINFO[0000]creatingnewdispatchercomponent=dispa

unit-testing - 如何测试/重构测试调用 http.ListenAndServe 的函数

我正在学习go并且正在开发一个简单的服务,该服务从队列中提取一些数据并将其保存在数据库中。它还运行一个网络服务器以允许抓取数据。现在我有两个go文件(为简洁起见省略了一些文本):funcmain(){parseConfig()s:=&Service{ServiceConfig:config}err:=s.Run()iferr!=nil{panic(err)}}然后是服务的定义(为简洁起见,再次省略了一些部分):func(s*Service)Run()error{iferr:=s.validate();err!=nil{returnerr}iferr:=s.initDB();err!=n

unit-testing - Uber Cadence 事件的单元测试上下文

我正在为使用UUID从联系人服务检索联系人的节奏事件功能编写单元测试。我想知道我应该将什么上下文传递给节奏事件。activity.Register(GetContactActivityFunc)funcGetContactActivityFunc(ctxcontext.Context,inputContactBbInput)(ContactBbOutput,error){...}这是测试函数。funcTestGetContactActivityFunc(t*testing.T){mockCSInterface:=&mocks.Interface{}csClient:=outbound.

mongodb - go.mongodb.org/mongo-driver - InsertOne with NilValueObjectId

我有以下结构typeAccountstruct{IDprimitive.ObjectID`json:"id"bson:"_id"`Emailstring`json:"email"`Passwordstring`json:"password"`}和下面的函数func(a*Account)Create()map[string]interface{}{ifresp,ok:=a.Validate();!ok{returnresp}hashedPassword,_:=bcrypt.GenerateFromPassword([]byte(a.Password),bcrypt.DefaultCost

go - 如何在 GoLang 的命令行上取消设置标志 Visited for Tests

我正在尝试运行每次使用不同参数多次调用同一函数的测试。这是一个接受不同命令行标志的应用程序。如果未提供命令行标志,则使用默认值。flagset=make(map[string]bool)flagset["flag1"]=falseflagset["flag2"]=falseflagset["flag3"]=falseflagset["flag4"]=falsefuncLoadCommandLineArguments(args[]string)error{err:=flag.CommandLine.Parse(args)/*Doerrorhandling*/flag.Visit(func

Mongodb unix 套接字与官方 mongo-go-driver 的连接?

找不到任何关于unix域套接字连接支持官方mongo-go-driver的信息。它是否得到官方实现和支持?“mongodb:///tmp/mongodb-27017.sock”uri不起作用。 最佳答案 Isitimplementedandsupportedofficially?使用官方MongoDBGodriver您可以直接连接到URI套接字。您只需要转义斜线即可。例如使用v1.1+:mongoURI:="mongodb://%2Ftmp%2Fmongodb-27017.sock"client,err:=mongo.NewClie

unit-testing - 使用 aetest.NewContext 代替 endpoints.NewContext 以强一致性测试 go-endpoints

我有一个搜索方法:func(sa*SearchApi)Search(cendpoints.Context,r*SearchQuery)(*SearchResults,error){..}如您所见,它需要一个端点。上下文例如:ctx:=endpoints.NewContext(req1)但是对于aetest,我使用的是不同的上下文:otherCtx,err:=aetest.NewContext(&aetest.Options{"",true})特别是这个上下文有额外的强一致性选项-因为我正在设置数据所以我可以测试一个只读的api。我无法将otherCxt传递给我的Search方法,因为它

unit-testing - Golang Mocking - 类型冲突问题

我正在模拟一个DataStore及其获取/设置功能。我遇到的问题是:不能在EventHandler的参数中使用s(类型*MockStore)作为类型*datastore.Storage这是因为我的EventHandler函数需要传递一个*datastore.Storage作为参数类型。我想使用我创建的MockStore而不是真正的数据存储来测试(http测试)EvenHandler()。我正在使用golangtestify模拟包。一些代码示例typeMockStorestruct{mock.Mock}func(s*MockStore)Get()...funcEventHandler(w