草庐IT

integration-testing-mongodb-sprin

全部标签

mongodb - 如何使用 go map 从 mongodb 检索非结构化形式的数据

我正在尝试使用gomap检索数据。mongo中的数据就像"_id":ObjectId("56bf128f5a9a6a0ebfdd5075"),"deadLine":{"Start_time":ISODate("2016-05-24T00:00:00Z"),"End_time":ISODate("2016-05-29T00:00:00Z")},"taskData":{"Task_content":"Something","Priority":"3"},"group":{"1":{"grp_name":"grp"},"2":{"grp_name":"secondGrp"}}我想根据Prio

unit-testing - 在 GO 中测试 - 项目包中的代码覆盖率

我有一个关于在Go(lang)项目中生成代码覆盖率的问题。我有这个简单的结构:ROOT/config/handlers/lib/models/router/main.goconfig包含JSON格式的配置和一个简单的config.go读取和解析JSON文件并填充随后使用的Config结构初始化数据库连接时。handlers包含controllers(即router/routes.go中描述的相应METHOD+URL的处理程序)。lib包含一些数据库、请求响应器和记录器逻辑。models包含要从JSON和DB映射到的结构及其函数。最后router包含路由器和路由定义。基本上只是通过测试一

unit-testing - 如何在 Go 中将测试标记为不确定?

这个问题在这里已经有了答案:HowToWritePendingTestsInGo(1个回答)关闭6年前。在Go中编写测试时,如何将测试标记为不确定,即存在,但既不成功也不失败,例如因为它还没有实现?我有Node.js背景,例如在Mocha(Node.js的测试运行器)中,您可以定义一个没有实现的测试,然后Mocha将此测试标记为pending。你如何用Go做到这一点?(如果有任何区别,我在gotest之上使用gocheck。)

mongodb - 不了解 mongoDB 更新如何在 Go 中工作

我正在尝试为Go结构实现MongoDB更新。精简到最基本的部分,它看起来像这样:typeMyStructstruct{Idbson.ObjectId`bson:"_id"`Fruitstring`bson:"fruit"`}funcTestUpdate(t*testing.T){obj1:=MyStruct{Id:bson.NewObjectId(),Fruit:"apple"}varobj2MyStructsession,_:=mgo.Dial("whatever")col:=session.DB("test").C("collection")col.Insert(&obj1)obj

unit-testing - 使用 Gorilla MUX 对 App Engine 进行单元测试

我想为GoogleAppEngine中的处理程序编写测试,这些处理程序使用Gorillamux从请求URL读取变量。我从documentation了解到您可以创建一个虚假的上下文并请求用于测试。我在测试中直接调用处理程序,但处理程序没有按预期看到路径参数。funcTestRouter(t*testing.T){inst,_:=aetest.NewInstance(nil)//ignoringerrorforbrevitydeferinst.Close()//triedaddingthislinebecausethetestwouldnotworkwithorwithoutithttpt

mongodb - mgo 中的 Golang 和 mongodb 查询

所以我有这个运行良好的mongo数据库查询:db.levels.aggregate([{$match:{"_id":{$lt:ObjectId("56410480f91e505237902dae")}},},{$group:{"_id":{"title":"Level11"},"totalAmount":{$sum:"$rewardCoins"}}}])它应该在给出id之前获取所有行,并根据rewardCoins计算总和。现在在golang中使用mgo我正在努力让它工作......我正在使用管道,但我的结果集是空的。pipe:=c.Pipe([]bson.M{{"$match":bso

mongodb - 如何推迟 mgo session ,直到它完全流式传输到客户端?

我想在mgosession完全流式传输到客户端后关闭它。起初,我认为这可能行得通,但似乎defer只是等到func开始返回之类的。func(cApp)OpenFile(fileIdstring)revel.Result{//convertstringtobson.ObjectIdobjId:=bson.ObjectIdHex(fileId)file,session:=OpenFile(objId)defersession.Close()//memfileio.Reader,filenamestring,deliveryContentDisposition,modtimetime.Tim

macos - 更新到 macOS beta 4 后,go test -cover 抛出 "fatal error: unexpected signal during runtime execution"

Gobuild和gotest仍然有效。在更新到macOSbeta之前,我使用测试覆盖工具没有遇到任何问题。“去测试”工作正常;但是,所有覆盖率测试命令都抛出此错误(gotest-coverprofile=coverage.out抛出相同的问题)。如果有人知道如何解决这个问题,我将不胜感激!$gotest-covergobuildgithub.com/hunteramericano/ErrorQuiver:/usr/local/Cellar/go/1.6.3/libexec/pkg/tool/darwin_amd64/cover:signal:fatalerror:unexpecteds

testing - 如何重写此 select 语句以保证 100% 的测试覆盖率?

这让我疯狂。假设我有以下功能:funcMap(quit对于从src接收到的每个值v,它在dst上发送f(v),直到src或quit关闭且为空或从quit接收到值。现在,假设我想编写一个测试来证明它可以被取消:funcTestMapCancel(t*testing.T){varwgsync.WaitGroupquit:=make(chanstruct{})success:=make(chanstruct{})wg.Add(3)src:=//channelprovidingarbitraryvaluesuntilquitiscloseddst:=make(chaninterface{})/

bash - 预定义 test.coverprofile 标志

我正在使用go工具分析代码覆盖率。首先我创建测试二进制文件gotest-coverpkg="github.com/ypapax/flags"-c然后我运行它./flags.test-test.coverprofile=/tmp/out.outcat/tmp/out.out并查看个人资料内容PASScoverage:100.0%ofstatementsingithub.com/ypapax/flagsmode:setgithub.com/ypapax/flags/main.go:5.12,7.211问题是:是否可以预定义标志-test.coverprofile=/tmp/out.out这