草庐IT

gcloud-sql-test

全部标签

go - 使用 go sql 时,在每种类型中重写 Scan 和 Value 方法时避免重复代码

GolanSQL和Gorp期望所有类型都包含附加到该类型的Scan和Value方法,以便将行读取到结构中。这会在我的项目中添加大量样板代码,即使这些方法可以通用化也是如此,因为我正在将JSON写入此列。typeType1struct{Type2Type2Type3Type3Type4Type4}typeType2struct{someprimitives...}typeType3struct{someprimitives...}typeType4struct{someprimitives...}func(qType2)Value()(driver.Value,error){return

unit-testing - 如何在 golang 中编写关于插入、获取、删除和更新数据的测试用例

我必须编写插入、获取、删除和更新数据的测试用例。在互联网上搜索时,我找到了一个代码并且它可以工作,但我不知道它是如何工作的。我的代码在下面给出,任何人都可以用简单的方式告诉我我将如何理解代码。packagemodelsimport("testing""gopkg.in/mgo.v2/bson""fmt")funcTestAddBlog(t*testing.T){typeargsstruct{queryinterface{}}tests:=[]struct{namestringargsargswantbool}{{"first",args{bson.M{"_id":4,"title":"

unit-testing - 在 Go-kit 中为 make 处理函数编写单元测试

我的问题特定于Go-kit以及如何在其中组织代码。我正在尝试为以下功能编写单元测试:funcMakeHandler(svcService,loggerkitlog.Logger)http.Handler{orderHandler:=kithttptransport.NewServer(makeOrderEndpoint(svc),decodeRequest,encodeResponse,)r:=mux.NewRouter()r.Handle("/api/v1/order/",orderHandler).Methods("GET")returnr编写适当的单元测试的正确方法是什么?我见过

unit-testing - 如何定义模拟方法被调用零次

我正在尝试测试以下方法://AuthenticationMiddlewareMiddlewarewhichhandlesalloftheauthentication.funcAuthenticationMiddleware(contextcontext.ContextIntf,wweb.ResponseWriter,r*web.Request,nextweb.NextMiddlewareFunc){//Checkifurlisonethatdoesn'tneedauthorization.Ifnotthansendthemtotheloginpage.for_,url:=rangeAu

unit-testing - 如何重写gocov命令去工具覆盖?

我有以下命令:${GOPATH}/bin/gocovtest./...2>test|${GOPATH}/bin/gocovreport如果我使用gotoolcover,这个命令会是什么样子? 最佳答案 自go1.10gotoolcoverage支持递归包绕过gotest./...-coverprofile=coverage.out 关于unit-testing-如何重写gocov命令去工具覆盖?,我们在StackOverflow上找到一个类似的问题: http

sql - 如何翻译 SQL 语句以在 sqlx API 调用中使用?

我一直在尝试查询PostgreSQLltree.在表tree中,path的类型为ltree。我可以用psql写:SELECTid,pathFROMtreeWHEREpath@'12345'没问题。当我在sqlx中执行时:db.Get(&path,"SELECTid,pathFROMtreeWHEREpath@'$1'",entryID)它一直告诉pq:operantsyntaxerror。不确定是否有办法正确转义查询字符串中的单引号。我试过了,但还是不行:db.Get(&path,`SELECTid,pathFROMtreeWHEREpath@''$1''`,entryID)

mysql - 原子更新和备份 ON DUPLICATE KEY insert else - golang sql 语句

在golang中组合两个语句(INSERT或(BACKUP和UPDATE))并自动执行它们的最佳方式是什么?我发现了这个类似的问题:https://codereview.stackexchange.com/questions/186909/query-select-and-insert-if-not-exists?newreg=067063956a834327883542c3171a22d4但是解决方案没有满足以下要求中的2个:对DUPLICATEKEY的值进行备份,使用标准SQL不使用存储过程但是保持原子性。 最佳答案 这更像是一

unit-testing - 以 http 作为包装函数的依赖项的单元测试

我有以下函数,在@poy的帮助下,我能够为它创建模拟以便对其进行单元测试。现在的问题是我有包装函数也需要测试这是原始函数,已经过测试funchttpReq(cc[]string,methodstring,urlstring)([]byte,error){httpClient:=http.Client{}req,err:=http.NewRequest(method,url,nil)iferr!=nil{returnnil,errors.Wrap(err,"failedtoexecutehttprequest")}//Herewearepassinguserandpasswordreq.

go - 如何从 golang 可执行文件中获取当前 gcloud 用户名?

我正在尝试在GoLang中实现以下gcloud命令。>gcloudconfigget-valueaccountabc@def.com我查看了“https://godoc.org/cloud.google.com/go”,但我找不到如何实现它。我可以查看有关库\代码的任何建议吗? 最佳答案 在投入大量时间对此进行研究后,截至2019年1月没有其他选择。最佳行动方案是gcloudconfigconfig-helper--formatjson 关于go-如何从golang可执行文件中获取当前g

mysql - golang sql.open() 期望 0 个参数得到 1

我正在尝试使用golang连接到我在本地拥有的mysql数据库,它构建得很好,但运行它时出现以下错误:panic:sql:expected0arguments,got1我的连接是这样的:packagemainimport("database/sql""fmt"_"github.com/go-sql-driver/mysql")funcDBConn(){team:="software"db,err:=sql.Open("mysql","root:12345678@tcp(localhost:3306)/flexlocal")iferr!=nil{fmt.Println("thisiswh