为了账号安全,请及时绑定邮箱和手机立即绑定

以编程方式在 gin 上下文中设置 url 参数以进行测试

以编程方式在 gin 上下文中设置 url 参数以进行测试

Go
幕布斯7119047 2022-07-04 16:39:49
我正在为 gin 中间件编写一些测试套件。我找到了一个解决方案来测试它们,而不必运行完整的路由器引擎,方法是创建一个这样的 gin 上下文:w := httptest.NewRecorder()c, _ := gin.CreateTestContext(w)目标是通过调用来测试我的功能:MyMiddleware(c)// Then I use c.MustGet() to check if every expected parameter has been transmitted to gin// context, with correct values.我的中间件之一依赖于c.Param(). c.SetParam(key, value)是否可以在调用中间件之前以编程方式在 gin(类似)中设置 Url 参数?这仅用于测试目的,所以我不介意非优化的解决方案。
查看完整描述

2 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

最后通过使用 IntelliJ 来检查结构弄清楚了,我可以将其设置为原始方式:


c.Params = []gin.Param{

    {

        Key: "id",

        Value: "first document",

    },

}


查看完整回答
反对 回复 2022-07-04
?
MYYA

TA贡献1868条经验 获得超4个赞

由于 c.Request.URL 在我的某些测试中为零,我无法获得可接受的答案。

相反,您可以像这样设置查询:

c.Request.URL, _ = url.Parse("?id=mock")


查看完整回答
反对 回复 2022-07-04
  • 2 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信