- 新增 NewRequestCtx 和 NewRequestCtxWithHeader 辅助函数 - 简化各测试文件中 RequestCtx 创建代码 - 减少测试代码重复,提高可维护性 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
28 lines
795 B
Go
28 lines
795 B
Go
package testutil
|
|
|
|
import "github.com/valyala/fasthttp"
|
|
|
|
// NewRequestCtx 创建测试用的请求上下文
|
|
func NewRequestCtx(method, path string) *fasthttp.RequestCtx {
|
|
ctx := &fasthttp.RequestCtx{}
|
|
ctx.Request.Header.SetMethod(method)
|
|
ctx.Request.SetRequestURI(path)
|
|
return ctx
|
|
}
|
|
|
|
// NewRequestCtxWithBody 创建带 body 的测试请求上下文
|
|
func NewRequestCtxWithBody(method, path, body string) *fasthttp.RequestCtx {
|
|
ctx := NewRequestCtx(method, path)
|
|
ctx.Request.SetBodyString(body)
|
|
return ctx
|
|
}
|
|
|
|
// NewRequestCtxWithHeader 创建带 header 的测试请求上下文
|
|
func NewRequestCtxWithHeader(method, path string, headers map[string]string) *fasthttp.RequestCtx {
|
|
ctx := NewRequestCtx(method, path)
|
|
for k, v := range headers {
|
|
ctx.Request.Header.Set(k, v)
|
|
}
|
|
return ctx
|
|
}
|