草庐IT

get_unit_value

全部标签

mongodb - filter:= bson.D {{“hello”,“world”}}}而不是使用value(world)如何传递包含该值的变量(world)

Closed.Thisquestionneedsdetailsorclarity。它当前不接受答案。想改善这个问题吗?添加详细信息,并通过editingthispost阐明问题。去年关闭。Improvethisquestion使用Go从mongodb获取特定内容时,例如:filter:=bson.D{{"hello","world"}}在这种情况下,我如何传递包含值(世界)的变量而不是传递值(世界)?username:=r.FormValue("username")filter:=bson.D{{"username",'$username'}} 最佳答案

unit-testing - 我如何在 Go 中编写使用 -short 标志的测试,它可以与 -benchmark 标志结合使用吗?

如何使用gotest-short中给出的-short标志?是否可以结合使用-short和-benchmark标志?我对Go语言还很陌生,但我正在努力使自己适应它的一些常见做法。其中一部分是尝试确保我的代码不仅以gotest系统工作的方式添加了单元测试,而且gotest-benchmark也以有用的方式运行方式。目前我有一个基准测试,其中包括一系列基于不同大小的输入数据的子测试。运行15个排列需要很长时间,因此最好提供缩短测试时间的选项。我计划编写的下一组测试可能包括一系列数据输入示例。我希望运行其中的一个可以作为短期测试的健全性检查,但可以选择在更长的(或正常的)测试运行中运行多个。当

unit-testing - 如何测试是否调用了 defer

我有以下代码func(s*MyRepo)InsertOrder(ctxcontext.Context,orderIDstring)error{query:=`INSERTINTOorders(orderID)VALUES(?)`stmt,err:=s.db.RawDatabase().PrepareContext(ctx,query)iferr!=nil{returnerr}deferstmt.Close()_,err=stmt.ExecContext(ctx,orderID)iferr!=nil{//logerr}returnerr}对应的测试用例是funcTestMyRepo_In

unit-testing - 如何在我的 go 测试中实现 faker?

我正在尝试学习Go并编写我的第一个测试。我想弄清楚如何实现一个伪造者来测试terraform上的CRUD。我已经弄清楚如何导入faker并创建要使用的变量。我尝试使用fmt.Println来查看它是否生成,但是如果它是一个测试,我在哪里可以看到Println。当我去测试时它不打印。functestCheckTritonUserDelete(s*terraform.State)error{fmt.Println("INsidetestCheckTritonUserDelete")fmt.Println(fake.UserName())returnnil//这是我要打印的函数

unit-testing - 在单元测试中使用随机数与硬编码值

这个问题在这里已经有了答案:WhatarethedownsidesusingrandomvaluesinUnitTesting?(11个答案)RandomdatainUnitTests?(20个答案)关闭3年前。当我写测试的时候,我喜欢用随机数来计算东西。例如funcinit(){rand.Seed(time.Now().UnixNano())}funcTestXYZ(t*testing.T){amount:=rand.Intn(100)cnt:=1+rand.Intn(10)fori:=0;i当然有缺点expected:=calcExpected(amount,cnt)因为需要根据随

go - 谁在为类型转换定义 Get() 方法? golang 本身?

查看://为值Binary定义方法“Get()uint64”func(iBinary)Get()uint64{返回uint64(i)我们定义了一个方法Get()显然b:=Binary(200)执行它,但是它们之间的联系在哪里。我没有找到Get()的定义位置,我假设这个定义覆盖了一个内部定义,或者我错了。packagemainimport("fmt""strconv")//Thisdefinesainterfacewithonemethod:"String()string"typeStringerinterface{String()string}//Definesanunsigned64

docker - 在 docker 构建期间不能 `go get` 依赖项

我对Docker和Go都很陌生,所以这可能是显而易见的,但我的谷歌搜索没有找到任何东西。我正在尝试使用docker构建一个简单的go程序,但我在依赖项方面遇到了麻烦。转到文件:packagemainimport("fmt""log""html""net/http""github.com/gorilla/mux")funchello(writerhttp.ResponseWriter,r*http.Request){path:=mux.Vars(r)["rest"]fmt.Fprintf(writer,"Hello,%q",html.EscapeString(path))}funcmai

algorithm - 根据需要转移值(value)的算法[保留]

我需要一个算法,以最佳转移价值的基础上,需要的数额到其他帐户。例如,考虑到下面的帐户,什么是算法/psuedocode,可以在不导致正帐户不足的情况下,将有多余帐户的值转移到有不足帐户?Account1Balance:0Needed:.17853Account2Balance:0Needed:.1789524Account3Balance:0.296Needed:.4278Account4Balance:0Needed:.50231Account5Balance:0.1Needed:.17853Account6Balance:0Needed:.89Account7Balance:4.0

戈朗 : Is there a way to modify one of the multi-value return parameters in one line?

我正在尝试在Go中做一些相对简单的事情——将字符串转换为整数,然后将其加倍:myInt,_:=strconv.Atoi(args[1])doubleArg:=myInt*2由于Atoi()返回两个参数(整数和err),我使用myInt,_:=来检索值的整数。我想将它加倍(因此是第二行)但不能在一行中完成所有操作:myInt,_:=strconv.Atoi(args[1])*2给我:multiple-valuestrconv.Atoi()insingle-valuecontext但是,根据我使用大多数其他语言的经验,必须在两行中执行此操作似乎有很多样板。这只是我必须处理的一个限制,还是有

unit-testing - 如何为一小时后函数返回时间编写单元测试

我有以下函数,它在当前时间添加给定的小时数并在中返回新时间funcgetExpiryTime(hourint)*string{constlayout="2006-01-02T15:04:05Z"expiryTime:=time.Now().Local().Add(time.Hour*time.Duration(hour))returnaws.String(expiryTime.Format(layout))}为此功能编写单元测试的最佳方法是什么? 最佳答案 您可以尝试模拟时间提供程序并在您的模拟中设置time.Now()函数以返回您