jjzjj

httptest

全部标签

unit-testing - httptest.NewRequest 设置上下文 stub

我正在创建一个请求stub,以便将其传递给被测试的函数:request:=httptest.NewRequest("GET","http://example.com/foo",nil)问题:我还可以通过向其添加request-uuid值来为该请求stubContext对象吗? 最佳答案 你有请求,你可以在移交之前用它做任何你想做的事。使用Request.Context()要访问其上下文,请使用context.WithValue()派生一个新的context.Context在其中包含您的键值,并使用Request.WithContex

testing - 为不同包上的所有测试运行单个 Golang httptest 服务器

我的项目文件夹是这样的。它是一个大型API,我仅将文件分开用于组织用途。$treesrc/后端/src/backend/├──cats│  ├──cat_test.go│  ├──handler.go│  ├──routes.go│  └──tools.go├──cmd│  ├──populate.go│  ├──root.go│  └──runserver.go├──iot│  └──device│    ├──all.go│    ├──all_test.go│    ├──router.go│    ├──types.go│    └──update.go├──main.go├─

http - 我应该避免在生产代码中使用 net/http/httptest 吗?

我喜欢在某些情况下将缓冲的net/http.ResponseWriter呈现为net/http.Response的能力net/http/httptest.ResponseRecorder会给我,但包名让我有点担心在生产代码中使用它。我知道它的目的是主要用于测试,但我不确定在生产代码中使用它是否会遇到麻烦。我是在诱惑命运吗? 最佳答案 您不应在生产中使用此代码。无论您想要实现什么。httptest.ResponseRecorder的最终目的是促进测试,因此将始终通过测试进行扩展、优化——重写头脑。任何假设都可以在此包中进行,只要它能使

unit-testing - 正确使用 httptest 模拟响应

我有一些看起来像这样的东西:func(client*MyCustomClient)CheckURL(urlstring,json_response*MyCustomResponseStruct)bool{r,err=http.Get(url)iferr!=nil{returnfalse}deferr.Body.Close()....dostuffwithjson_response在我的测试中,我有以下内容:funcTestCheckURL(t*test.T){ts:=httptest.NewServer(http.HandlerFunc(func(whttp.ResponseWrite

unit-testing - 在 Go 中为 httptest.NewServer 使用自定义 URL

我通过在Go语言中创建一个http测试服务器来在一些rest调用上运行UT。我的代码如下。typestudentstruct{FirstNamestringLastNamestring}functestGetStudentName(){testServer:=httptest.NewServer(http.HandlerFunc(func(whttp.ResponseWriter,r*http.Request){response=new(student)response.FirstName="Some"response.LastName="Name"b,err:=json.Marsha

unit-testing - httptest.ResponseRecorder 没有字段或方法结果

所以这个真的很奇怪,我正在尝试获得呈现JSON的模拟响应。我的测试看起来像这样:import("fmt""net/http""net/http/httptest""reflect""strings""testing")...funcTestMessageFromResponse(t*testing.T){mc:=MyController{}body:="{\"message\":\"kthxbai\"}"w:=httptest.NewRecorder()w.Write([]byte(body))resp:=w.Result()msg:=mc.messageFromResponse(re

rest - 测试基于 gin 的 REST API 在使用 net/http/httptest 时没有获取参数

我正在开发基于GinGo的RESTAPI,端点如下所示:funccarsByType(c*gin.Context){fmt.Println("GoRequestinHandler...")carType:=c.Params.ByName("type")fmt.Println(carType)ifcarType!=""{}c.JSON(http.StatusBadRequest,gin.H{"result":"Badrequest"})return}funcmain(){router:=gin.Default()router.GET("/cars/:type",carsByType)ro

http - 如何使用 httptest 在 Go 中测试 http 调用

我有以下代码:packagemainimport("encoding/json""fmt""io/ioutil""log""net/http""time")typetwitterResultstruct{Results[]struct{Textstring`json:"text"`Idsstring`json:"id_str"`Namestring`json:"from_user_name"`Usernamestring`json:"from_user"`UserIdstring`json:"from_user_id_str"`}}var(twitterUrl="http://sear

go - httptest 可以用来测试 HTTP/2 吗?

我想知道this(httptest)包可用于测试HTTP/2特定功能。谁能给我举一些例子吗?我知道该工具h2i,但它是一个交互式工具。我正在寻找可编程的东西。编辑:我真正想要的是一个工具,例如,我可以在其中启动服务器推送并在客户端对其进行测试。那么,使用这个包,我如何访问它默认使用的底层HTTP/2内容?编辑2:在nghttp2源代码中找到了一些示例:https://github.com/tatsuhiro-t/nghttp2/tree/master/integration-tests编辑3:对我来说,看起来包net/http2并不意味着任何人都可以直接使用。我将尝试this一个。

go - httptest 可以用来测试 HTTP/2 吗?

我想知道this(httptest)包可用于测试HTTP/2特定功能。谁能给我举一些例子吗?我知道该工具h2i,但它是一个交互式工具。我正在寻找可编程的东西。编辑:我真正想要的是一个工具,例如,我可以在其中启动服务器推送并在客户端对其进行测试。那么,使用这个包,我如何访问它默认使用的底层HTTP/2内容?编辑2:在nghttp2源代码中找到了一些示例:https://github.com/tatsuhiro-t/nghttp2/tree/master/integration-tests编辑3:对我来说,看起来包net/http2并不意味着任何人都可以直接使用。我将尝试this一个。