草庐IT

mongo_db_test

全部标签

go build 有效但 go test 没有

下面是我的项目结构:/user/home/go/src/github.com/my_go_proj/main.go/mypackage/service.go/service_test.goGOPATHpointsto/user/home/gocd/user/home/go/src/github.com/my_go_projgobuild--->Thisworksandcreatesthe`my_go_proj`executable.gotest?github.com/my_go_proj[notestfiles]gotestgithub.com/my_go_proj/mypackage

unit-testing - 我如何在测试中模拟 Go 函数?

我在StackOverflow上阅读了一些关于如何模拟time.Now()等函数的问题。解决方案似乎是编写一个实现特定接口(interface)的结构,然后在测试中传入该模拟。有更好的方法吗?由于在Golang中没有足够好的依赖注入(inject)容器实现,我不想手动传递结构,或者创建一个内部只有这样的结构:func(sMyStruct)Now(){returntime.Now()}因为,首先,我无法测试这个函数。当你处理其中没有变量的一行时,它可能什么都不是,但我有一个连接到TCP端口的函数。做这样的事情需要我为它使用的所有东西创建适配器(例如net.Dial()、time.Now(

mongodb - 按给定示例中的字段名称更新 mongo 事务

我正在使用labix作为驱动程序,我想对几个集合进行交易,我找到了链接http://blog.labix.org/2012/08/22/multi-doc-transactions-for-mongodb我想更新集合Owner和Employer不是通过Id而是通过集合中的Name字段。我怎样才能做到这一点(简单的切换Id和Name不起作用)。runner:=txn.NewRunner(tcollection)ops:=[]txn.Op{{C:"accounts",Id:"aram",//NameAssert:M{"balance":M{"$gte":100}},Update:M{"$i

mongodb - 我如何将 bson.M 元素列表组合成单个 bson.M 在 golang 的 mongo 中?

lstMap:=make([]interface{},0)lstMap=mongoOps.AddToBsonMap(lstMap,bson.M{"$inc":bson.M{"Google.ab.Value":1}})lstMap=mongoOps.AddToBsonMap(lstMap,bson.M{"$inc":bson.M{"Google.ab1.Value1":1}})func(o*MongoOps)AddToBsonMap(lstMap[]interface{},valueinterface{})(result[]interface{}){lstMap=append(lstMa

go - 无法在 go lang 中分配 *gorm.DB

我正在尝试从gorm.Open()返回一个实例,返回它我收到以下错误controllers/db.go:34:cannotassign*gorm.DBtodc.DB(typegorm.DB)inmultipleassignment这是db.goControllerpackagecontrollersimport(//"fmt"_"github.com/go-sql-driver/mysql"//v"github.com/spf13/viper""github.com/jinzhu/gorm")typeDBControllerstruct{DBgorm.DB}func(dc*DBCont

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包含路由器和路由定义。基本上只是通过测试一

Go 查询 (db2) 不提供表中的所有字符 (utf-8)

表达我的问题很复杂,我尝试:我有一个DB2表(内部代码页CP850)createtablecodes(codecharacter(2))使用utf-8字符的数据集insertintocodesvalues('ÖÖ')在linux下,db2-clientsselect*fromcodes交付codeÖÖ正如预期的那样。现在对于Go部分,这是有问题的。我的模型看起来像packagecodestypeCodestruct{Codedb.NullString`json:"code"sql:"code"`}typeCodes[]*Code我的查询看起来像packagecodesfuncFindA

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

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

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

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

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