草庐IT

integration-testing-mongodb-sprin

全部标签

unit-testing - 单元测试调用另一个方法的方法

对调用多个方法的方法进行单元测试的最佳方法是什么,例如:modify(stringvalue){if(value.Length>5)replaceit(value);elsechangeit(value);}此伪代码有一个修改方法,(当前)调用replaceit()或changeit()。我已经为replaceit和changeit编写了测试,因此为modify编写新测试将是99%的同一组代码。我需要测试它的想法,因为它可能会在未来发生变化。那么我是否复制粘贴现有的测试代码?将测试代码移动到一个通用函数?还有其他想法吗?我不确定此处的最佳做法。 最佳答案

mongodb - 如何使用 go 和 mongodb 在 heroku 上无错误地部署应用程序?

无法部署。出现错误:cannotloadgo.mongodb.org/mongo-driver/mongo:open/tmp/build_aa982e7b99ad67f15e2c45be4077d6e9/vendor/go.mongodb.org/mongo-driver/mongo:nosuchfileordirectory我尝试过导入的方式:1)"go.mongodb.org/mongo-driver/mongo"在本地工作正常但在部署期间崩溃2)"github.com/mongodb/mongo-go-driver/mongo"没用main.go:packagemainimpor

mongodb - Mongo DB 结果接口(interface)到 Golang 中的结构转换

我在尝试将interface{}转换为golang中的结构类型时收到此错误。接口(interface)转换:接口(interface){}是primitive.D,不是model.ClientModel。行错误:cm:=res.(model.ClientModel)res,err:=db.FindOne(collection,filter)iferr!=nil{fmt.Println(err)}fmt.Println(res)cm:=res.(model.ClientModel)fmt.Println(cm) 最佳答案 您可以.De

mongodb - 使用 mongo-go-driver 和接口(interface)将游标反序列化为数组

我使用golang创建了一个api,我想创建一些功能测试,为此我创建了一个接口(interface)来抽象我的数据库。但为此,我需要能够在不知道类型的情况下将游标转换为数组。func(self*KeyController)GetKey(cecho.Context)(errerror){varres[]dto.Keyerr=db.Keys.Find(bson.M{},10,0,&res)iferr!=nil{fmt.Println(err)returnc.String(http.StatusInternalServerError,"internalerror")}c.JSON(http.

mongodb - 通过 mgo v2(golang、mongoDB)更新结构的数组元素

我有这样的结构:typeMeetstruct{Titlestring`json:title`Timetime.Time`json:time`Hoststring`json:host`Crowd[]string`json:crowd`GeoLocation`json:location`Invoice[]Bill`json:invoice`}typeUserstruct{IDbson.ObjectId`json:"id"bson:"_id,omitempty"`Namestring`json:name`Phonestring`json:phone`Emailstring`json:emai

mongodb - Golang MongoDB 导入问题

导入golangmongodb驱动程序时遇到问题。goget-ugo.mongodb.org/mongo-driver/mongogoget-ugo.mongodb.org/mongo-driver/mongo@~1.0.0包go.mongodb.org/mongo-driver/mongo:无法识别的导入路径“go.mongodb.org/mongo-driver/mongo”(httpsfetch:获取https://go.mongodb.org/mongo-driver/mongo?go-get=1:拨号tcp:查找go。mongodb.org:没有这样的主机)

mongodb - 如何检查集合是否存在 MongoDB Golang

我是GO语言的新手,我正在使用MongoDB。我正在为Angular4上的应用程序及其前端创建后端。我想检查集合是否存在。这是我的代码,我已经使用nil对其进行了检查。collection:=GetCollection("users")fmt.Println("collection",collection)ifcollection==nil{fmt.Println("Collectionisempty")}我创建了一个GetCollection函数,当我们向它传递一个集合名称时它会返回一个集合。那么,如果没有集合,我该如何检查它是否存在?我尝试了很多东西但都失败了。

mongodb - 如何使用官方 MongoDB Go 驱动程序的 FindOne() 函数从 mongoDB 获取完整文档

我正在尝试从MongoDB获取单个文档并将其解码为包含slice的结构。我使用官方MongoDBGo驱动程序。我试过collection.FindOne(),它返回除slice之外的所有内容,而collection.Find()返回EOF。这是一个简单的FindOne()函数:funcFindOne(c*mongo.Collection,filter,resultinterface{},opts...*options.FindOneOptions)error{err:=c.FindOne(context.TODO(),filter,opts...).Decode(result)ifer

unit-testing - 使用 github.com/jarcoal/httpmock 验证请求主体

我正在尝试测试的函数接受数据结构,形成一个query_dsl,然后使用形成的查询对Elasticsearch进行/_search调用。因此,我想对形成的query_dsl和url进行断言。我正在使用github.com/jarcoal/httpmock在我的单元测试中模拟net/http请求。根据文档,它公开了funcGetCallCountInfo()map[string]int以验证特定端点被命中的次数。但我也有兴趣知道进行此调用时请求正文是什么。http.Client未公开,因此无法覆盖/模拟它进行测试。如果无法使用此包,那么是否有任何其他库可以模拟网络请求并提供请求主体?

testing - 如何按顺序运行 golang 测试?

当我运行gotest时,我的输出:---FAIL:TestGETSearchSuccess(0.00s)Location:drivers_api_test.go:283Error:Notequal:200(expected)!=204(actual)---FAIL:TestGETCOSearchSuccess(0.00s)Location:drivers_api_test.go:391Error:Notequal:200(expected)!=204(actual)但是在我再次运行gotest之后,我的所有测试都通过了。仅当我重置我的mysql数据库,然后第一次运行gotest时,测试