草庐IT

API测试

全部标签

go - 如何在 golang 的 RESTful api 中维护应用程序状态

就我而言,我没有浏览器作为客户端。我将使用HTTP客户端,因此无法维护客户端session。因此,我该如何维护应用程序状态? 最佳答案 在真正的RESTful应用程序中,没有session。客户端session中唯一可能存在的是一个简单的身份验证token,非浏览器客户端应该能够根据需要为每个请求发送身份验证。 关于go-如何在golang的RESTfulapi中维护应用程序状态,我们在StackOverflow上找到一个类似的问题: https://stac

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

api - GoLang, slice 读出错误

我是GoLang的新手,我需要一些帮助。我正在制作简单的API应用程序。通过API将结构传递给slice如下所示:typeStructstruct{//somerecords}varstructs[]Struct//slicefuncSetStruct(whttp.ResponseWriter,req*http.Request){varstStructdecoder:=json.NewDecoder(req.Body)decoder.Decode(&st)emails=append(structs,st)json.NewEncoder(w).Encode(structs)}而且该功能工

api - 当我尝试使用 POST 下载文件到我的 api 时出现 404 错误是什么?

这里的api应该在发布表单请求时加载文件curl-XPOST-d"url=http://site.com/file.txt"http://localhost:8000/submit但是404就出来了,是什么原因呢?或者如何在API中通过POST下载文件?funcdownloadFile(urlstring)Task{vartaskTaskresp,err:=http.Get(url)iferr!=nil{fmt.Println("Errorwhiledownloading")}deferresp.Body.Close()filename:=strings.Split(url,"/")[

unit-testing - 如何断言 Go 测试中的错误类型?

我有一个如下定义的错误类型typeRetryableErrorstruct{msgstring}func(a*RetryableError)Error()string{returna.msg}在单元测试中,如果返回的错误是RetryableError类型,Go的断言方式是什么? 最佳答案 使用类型断言:err:=someFunc()ifretryable,ok:=err.(RetryableError);ok{//useretryable}您的RetryableError不是错误,但*RetryableError是。更正:func(

api - 如何在多重赋值中修复赋值[]字节的数据

如何解决此函数的数据类型问题。首先,我是Golang的新手,正在尝试通过一些练习来学习它。我创建了一个函数来处理请求/GEThttp响应。funcconnect(url,tokenstring)(databyte){varbearer="Bearer"+tokenres,err:=http.Get(url)res.Header.Add("Authorization",bearer)deferres.Body.Close()data,_:=ioutil.ReadAll(res.Body)returndata}错误警告。cannotassign[]bytetodata(typebyte)i

unit-testing - 我如何测试代码是否真的启动了一个 go 例程?

如果我在我的代码中创建一个go例程,我该如何编写一个测试用例来测试是否正在创建一个goroutine。 最佳答案 howdoIwriteatestcasethattestswhetheragoroutineisbeingcreated这绝不是您要寻找的。相反,您应该对测试进行检测,以检查go例程应该执行的操作是否确实发生了。 关于unit-testing-我如何测试代码是否真的启动了一个go例程?,我们在StackOverflow上找到一个类似的问题: htt

go - 我将如何对 golang 中的多个方法进行负载测试(vegeta)

假设我有一个api有两条路线,一条是用于保存用户,另一条是用于获取下面给出的用户:-路由器.gopackagemainimport("github.com/gin-gonic/gin""go-training/postAPI/controller")typeRoutestruct{NamestringMethodstringPatternstringHandlerFuncfunc(*gin.Context)}typeRoutes[]Routevarroutes=Routes{Route{"SaveUser","POST","/post",controller.SaveUser},Rou

go - 了解测试覆盖率

我的Go程序中有一个简单的包来生成哈希ID。我也为它编写了一个测试,但无法理解为什么我只覆盖了83%的语句。下面是我的包功能代码:packagehashgenimport("math/rand""time""github.com/speps/go-hashids")//GenHashfunctionwillgenerateauniqueHashusingthecurrenttimeinUnixepochformatastheseedfuncGenHash()(string,error){UnixTime:=time.Now().UnixNano()IntUnixTime:=int(Un

unit-testing - 在 golang 中运行单元测试错误 : %1 is not a valid win32 application

我正在尝试运行用golang编写的单元测试用例。执行测试用例时,出现类似“%1不是有效的Win32应用程序”的错误。我已经尝试重新安装go,但问题仍然存在。go.exetestdir-run^(testname)$fork/execC:\user\username\AppData\Local\Temp\go-build976684114\packageName.test:%1不是有效的win32应用程序。错误:测试失败。上面提到的文件夹也没有创建。不确定,发生了什么。 最佳答案 如果我将我的GOOS设置为windows它正在工作设置