草庐IT

testbench编写

全部标签

go - 如何为 go Web api 编写单元测试

我正在为golangwebAPI编写单元测试。我有一个类似domain.com/api/user/current的API。此API将返回用户登录的信息。我使用http.NewRequest向该API发出请求。但它不起作用。那么如何在记录权限的情况下对这个API进行self调用?funcTestGetCurrentUserLogged(t*testing.T){assert:=assert.New(t)varurl="http://example.com/user/current";req,_:=http.NewRequest(http.MethodGet,url,nil)client:

go - 我已经用 GoLang 编写了代码,那么如何使用 Hyper-ledger Fabric Composer 获取链码?

我已经使用thislink成功设置了composer-rest-server在IBM云上。我已经在GoLang中编写了用于获取链码的自定义逻辑代码。我不知道如何进行下一次获取链代码的设置。你能帮我告诉我应该走哪条路吗? 最佳答案 HyperledgerComposer的链代码是用Javascript而不是GoLang编写的。(尽管HyperledgerFabricV1.1同时支持GoLang和Javascript)。如果您希望继续使用Composer和Javascript,您可以从DeveloperTutorial开始,然后按照本文

在golang中编写常用函数的好习惯

我正在使用golang编写Web服务器应用程序。需要在同一个包中的多个Controller中使用一个非常常见的数据库查询函数findUserByEmail(DBgorm.DB,emailstring)。不确定我应该在哪里声明这个函数,这样我就不需要在需要的时候在每个Controller中复制这个代码。我可以在其中一个Controller中将其设置为FindUserByEmail(DBgorm.DB,emailstring)。这样我就可以在任何其他Controller中使用它。但这似乎不是一个好习惯? 最佳答案 你必须为你的数据库函数

go - 如何捕获 "slice bounds out of range"错误并为其编写句柄

我在stackoverflow中阅读了有关“范围的slice边界”的其他问题,但没有一个使用与此相同的上下文。然后,没有一个答案对我有帮助。在我的用例中,使用[]的子字符串的“golang语法”不会返回错误变量。它使用“panic”指令启动运行时错误。我的目标是避免达到“panic”指令。我需要处理此错误并提供消息来更详细地描述发生此错误时的上下文。观察:我需要获取子字符串值的字符串变量的内容是完全动态的,我用来获取子字符串值的索引同样是动态计算的。 最佳答案 您需要对索引进行边界检查:ifj>=0&&j

c# - 如何连接用不同语言编写的客户端服务器

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion如何连接不同语言编写的客户端-服务器?例如,我有一个用GO编写的服务器和一个用C#编写的客户端,它们都使用Tcp/IP。这可能吗?

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()函数以返回您

go - 当您从一个 channel 读取并推送到另一个 channel 时,您如何编写一个不会挂起的函数

考虑这样一个函数:func(sc*saramaConsumer)ConsumeClaim(sesssarama.ConsumerGroupSession,claimsarama.ConsumerGroupClaim)error{formsg:=rangeclaim.Messages(){sc.messages 最佳答案 //wecanusecontexttoexitwhensomeonecalledcontextcancel.func(sc*saramaConsumer)ConsumeClaim(sesssarama.Consume

go - 作为一个单元测试用例,应该为这样的函数编写什么。代码片段会有所帮助

funcHome(whttp.ResponseWriter,r*staticAuth.AuthenticatedRequest){t,err:=template.ParseFiles("index.html")//parsethehtmlfilehomepage.htmliferr!=nil{//ifthereisanerrorlog.Print("templateparsingerror:",err)//logit}err=t.Execute(w,nil)//executethetemplateandpassittheHomePageVarsstructtofillinthegaps

html - 在 Go 中从命令行发送电子邮件时编写 html 的 CSS 规则

我正在尝试使用一些CSS编写HTML以将其发送到电子邮件中。电子邮件通过Go命令行执行发送。但是它在发送电子邮件时返回有关CSS属性的错误。我收到类似background:rgb(255,255,255)等属性的错误或padding对于它的某些属性,它会在终端中返回“未找到”错误。上面是我正在使用的一大块html和css属性。以下是通过命令行发送邮件的代码:packageutilsimport("bytes""html/template""os/exec""fmt")typeEmailRequeststruct{EmailTostringEmailSubjectstringEmailB

go - 我如何编写处理来自 API 的响应/错误的 golang 中间件?

基本上,我想编写一个中间件来关闭在请求时创建的事务对象。我正在使用gorillamux包。我熟悉python-Django中间件,它可以正确处理错误或响应。但找不到与golang类似的东西 最佳答案 在Go语言中你也可以创建一个中间件,下面我将创建处理程序的过程编写为validateMiddleware然后在TestEndpointAPI请求时调用它。funcmain(){router:=mux.NewRouter()router.HandleFunc("/test",ValidateMiddleware(TestEndpoint)