jjzjj

httptest

全部标签

go - 使用 httptest 为多个处理程序提供服务以模拟多个请求

我已经用谷歌搜索了所有内容,但找不到任何东西。我有一个接受http.Client的结构,它会发送多个GET请求。在我的测试中,我想模拟响应,这样它就不会发送真正的请求。目前我已经弄清楚如何只处理1个请求,如下所示:ts:=httptest.NewServer(http.HandlerFunc(func(whttp.ResponseWriter,r*http.Request){w.WriteHeader(http.StatusOK)file,err:=os.Open("./testdata/1.html")iferr!=nil{t.Error(err)}bytes,err:=ioutil

go - 使用 httptest 为多个处理程序提供服务以模拟多个请求

我已经用谷歌搜索了所有内容,但找不到任何东西。我有一个接受http.Client的结构,它会发送多个GET请求。在我的测试中,我想模拟响应,这样它就不会发送真正的请求。目前我已经弄清楚如何只处理1个请求,如下所示:ts:=httptest.NewServer(http.HandlerFunc(func(whttp.ResponseWriter,r*http.Request){w.WriteHeader(http.StatusOK)file,err:=os.Open("./testdata/1.html")iferr!=nil{t.Error(err)}bytes,err:=ioutil

unit-testing - 如何在 golang 中注入(inject)一个 url 到 httptest.server?

对于句子resp,err:=client.Get(fmt.Sprintf("https://www.xxxxx/day?time=%s",time))如果我想在单元测试中模拟对此client.Get()的响应,我应该使用httptest.server,但是如何将url(https://www.xxxxx/day?time=%s)绑定(bind)到httptest.server的url?这样当我调用client.Get()时它可以返回我之前设置的响应。出于某种原因,我不能在这里模拟客户。 最佳答案 通常不会。您从服务器获取基本URL并

unit-testing - 如何在 golang 中注入(inject)一个 url 到 httptest.server?

对于句子resp,err:=client.Get(fmt.Sprintf("https://www.xxxxx/day?time=%s",time))如果我想在单元测试中模拟对此client.Get()的响应,我应该使用httptest.server,但是如何将url(https://www.xxxxx/day?time=%s)绑定(bind)到httptest.server的url?这样当我调用client.Get()时它可以返回我之前设置的响应。出于某种原因,我不能在这里模拟客户。 最佳答案 通常不会。您从服务器获取基本URL并

unit-testing - 何时使用 httptest.Server 和 httptest.ResponseRecorder

如题,什么时候使用httptest.Server和httptest.ResponseRecorder?在我看来,我还可以使用httptest.Server测试我的处理程序以返回正确的响应。我可以简单地启动一个由我的处理程序实现提供的httptest.Server,然后对响应的主体进行验证。如有错误请指正,我正在学习Go+TDD 最佳答案 当你只是想检查,如果你的http.Handler做了它应该做的,你不需要使用httptest.Server。只需使用httptest.ResponseRecorder实例调用您的处理程序并检查exa

unit-testing - 何时使用 httptest.Server 和 httptest.ResponseRecorder

如题,什么时候使用httptest.Server和httptest.ResponseRecorder?在我看来,我还可以使用httptest.Server测试我的处理程序以返回正确的响应。我可以简单地启动一个由我的处理程序实现提供的httptest.Server,然后对响应的主体进行验证。如有错误请指正,我正在学习Go+TDD 最佳答案 当你只是想检查,如果你的http.Handler做了它应该做的,你不需要使用httptest.Server。只需使用httptest.ResponseRecorder实例调用您的处理程序并检查exa

unit-testing - Go Test 中具有不同条件的多个 httptest.NewRequest

我对Golang还是个新手。你对如何在你的Go测试文件中有效地创建多个httptest.NewRequest有什么想法吗?通常我发起一个新变量两个创建新请求。例如:r1:=httptest.NewRequest("GET",url,nil)r1.Header.Add("Accept-Language","id")r1.AddCookie(&cookie)r2:=httptest.NewRequest("GET",url,nil)r1.Header.Add("Accept-Language","id")所以我想创建2个不同的请求,实际上我必须启动2个变量才能生成新请求。我还使用了测试表,

unit-testing - 使用 httptest 或 http 包模拟服务器故障

如何在隔离单元测试中使用httptest或http包模拟服务器故障?详细信息:我一直在使用gorillawebsockets,所以mt,msg,err:=t.conn.ReadMessage()mt值必须是-1当服务器宕机时。我尝试了以下作为主要选项:varsrv*httptest.Serversrv=httptest.NewServer(http.HandlerFunc(func(whttp.ResponseWriter,r*http.Request){_,err:=wsUpgrader.Upgrade(w,r,nil)iferr!=nil{t.Fatal(err)}srv.Clos

Golang 获取带有 httptest 失败的错误消息

当您返回500服务器错误时,如何使用httptest获取错误消息?注册页面在手动测试时有效,所以这似乎是一些管道问题,但我找不到消息是什么。funcTestSignUp(t*testing.T){var(password="password")newUser:=entities.User{}newUser.Email="j@doe.co.za"newUser.SetPassword(password,bcrypt.MinCost)v:=url.Values{}v.Add("email_address",newUser.Email)v.Add("password",password)re

unit-testing - 如何使用 httptest 编写单元测试以及在其定义中使用上下文的处理程序?

一段时间以来,我一直在尝试弄清楚如何为使用上下文作为其定义的一部分的处理程序编写单元测试。例子funcHandler(ctxcontext.Context,whttp.ResponseWriter,r*http.Request)经过一番谷歌搜索后,我发现了这个article这使得它看起来像//copiedrightfromthearticlerr:=httptest.NewRecorder()//e.g.funcGetUsersHandler(ctxcontext.Context,whttp.ResponseWriter,r*http.Request)handler:=http.Han