草庐IT

rect-based-test

全部标签

unit-testing - 如何在 golang 中动态跳过测试?

我们在HTTP服务器上有一个特殊的文本文件,其中包含我们希望在golang测试运行时跳过的文件名和测试函数。我必须构建一些东西来下载该测试文件,解析应该跳过的文件名和测试函数,然后最终运行我们的go测试并正确地跳过在输入文件中找到的测试函数。在golang中进行这项工作的正确方法是什么?(我意识到这听起来像是一种不寻常的跳过方式,但我们真的希望按照我所描述的那样进行这项工作,原因与这个问题无关。) 最佳答案 您可以使用(*testing.T).Skip()函数跳过测试用例。可以在go的测试文件的init函数中下载测试文件。然后解析并

unit-testing - 如何使用 http 作为依赖项进行单元测试

我有以下按预期工作的功能。现在我想为它运行一个单元测试。funchttpClient(cc[]string,methodhttp)([]byte,error){httpClient:=http.Client{}req,err:=http.NewRequest(http.MethodPost,c[0]+"/oauth/token",nil)iferr!=nil{fmt.error(err)}//Herewearepassinguserandpasswordreq.SetBasicAuth(c[1],c[2])res,err:=httpClient.Do(req)iferr!=nil{fm

unit-testing - 如何使用 http 作为依赖项进行单元测试

我有以下按预期工作的功能。现在我想为它运行一个单元测试。funchttpClient(cc[]string,methodhttp)([]byte,error){httpClient:=http.Client{}req,err:=http.NewRequest(http.MethodPost,c[0]+"/oauth/token",nil)iferr!=nil{fmt.error(err)}//Herewearepassinguserandpasswordreq.SetBasicAuth(c[1],c[2])res,err:=httpClient.Do(req)iferr!=nil{fm

unit-testing - Go 单元测试中的包可见性

在Go中给定以下代码文件(名为server.go):packageglimpsefuncSplitHeader()string{return"hithere"}和附带的测试文件(server_test.go):packageglimpseimport("testing")funcTestSplitHeader(t*testing.T){answer:=SplitHeader()ifanswer==""{t.Error("Noreturnvalue")}}为什么是下面的命令:去测试server_test.go返回#command-line-arguments./server_test.g

unit-testing - Go 单元测试中的包可见性

在Go中给定以下代码文件(名为server.go):packageglimpsefuncSplitHeader()string{return"hithere"}和附带的测试文件(server_test.go):packageglimpseimport("testing")funcTestSplitHeader(t*testing.T){answer:=SplitHeader()ifanswer==""{t.Error("Noreturnvalue")}}为什么是下面的命令:去测试server_test.go返回#command-line-arguments./server_test.g

hash - 用户密码的 Golang Base64 编码 SHA256 摘要

我正在尝试完成TopCodeGoLearningChallenges作为学习围棋的工具。我目前正在研究他们的SimpleAPIWebServerproblem.该问题的一部分要求您加密密码字符串,例如“‘{SHA256}’+Base64编码的用户密码的SHA256摘要”我使用了以下代码来执行此操作,但结果与提供的测试用例不匹配。import("encoding/base64""crypto/sha256")funcencrtyptPasswords(passwordstring)string{h:=sha256.New()return"{SHA256}"+string(base64.S

hash - 用户密码的 Golang Base64 编码 SHA256 摘要

我正在尝试完成TopCodeGoLearningChallenges作为学习围棋的工具。我目前正在研究他们的SimpleAPIWebServerproblem.该问题的一部分要求您加密密码字符串,例如“‘{SHA256}’+Base64编码的用户密码的SHA256摘要”我使用了以下代码来执行此操作,但结果与提供的测试用例不匹配。import("encoding/base64""crypto/sha256")funcencrtyptPasswords(passwordstring)string{h:=sha256.New()return"{SHA256}"+string(base64.S

go - sqlx 库给出了奇怪的 base64 编码结果

我正在使用来自http://jmoiron.github.io/sqlx/的这个库做一个查询。按照文档,我找到了下面的代码。funccities(whttp.ResponseWriter,r*http.Request,_httprouter.Params)error{varmainstringvarsecondarystringvarlimitstringqueryParams:=make(map[string]interface{})ifk:=r.PostFormValue("keyword");k!=""{main="city.nameLIKE:keyword"queryParam

go - sqlx 库给出了奇怪的 base64 编码结果

我正在使用来自http://jmoiron.github.io/sqlx/的这个库做一个查询。按照文档,我找到了下面的代码。funccities(whttp.ResponseWriter,r*http.Request,_httprouter.Params)error{varmainstringvarsecondarystringvarlimitstringqueryParams:=make(map[string]interface{})ifk:=r.PostFormValue("keyword");k!=""{main="city.nameLIKE:keyword"queryParam

testing - 如何在 Golang 中获得 100% 的代码覆盖率?

这个问题在这里已经有了答案:HowtotestGofunctioncontaininglog.Fatal()(8个答案)关闭6年前。我无法获得100%的代码覆盖率,因为我无法在Golang中测试Fatals。我找到了一些问答,包括thisone,但我迷路了,因为帖子的答案是矛盾的。一方面可以checkthecodecoverageinGolang.另一方面,一些人提倡忽略例如测试。log.Fatal(err),导致代码覆盖率低于100%。尝试作为解决方法,我将所有log.Fatal替换为panic并感谢thisanswer我能够测试所有的panic并实现100%的代码覆盖率。问题尽管我