如何解决在gin上下文中以编程方式设置url参数以进行测试
我正在为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()
。是否可以在调用中间件之前以编程方式在gin中设置Url参数(类似c.SetParam(key,value)
)?这只是出于测试目的,因此我不介意非最佳解决方案。
解决方法
最后通过使用IntelliJ来检查结构,我可以将其设置为蛮横的方式:
c.Params = []gin.Param{
{
Key: "id",Value: "first document",},}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。