gpt4 book ai didi

spring - mockmvc 加载重定向 URL

转载 作者:行者123 更新时间:2023-12-02 04:24:13 25 4
gpt4 key购买 nike

我正在为 Spring Rest 服务编写测试,它将 url 重定向到另一个 Spring 服务。所以目标是使用书签名称找到书签。第一个服务使用 Bookmark 名称获取 BookmarkId,然后根据 BookmarkId 重定向 url 以加载对象

我可以使用以下方法轻松测试 url 重定向,效果很好

 mockMvc.perform(get("/bookmarks/name/" + "sample"))
.andExpect(status().isMovedPermanently()).andExpect(redirectedUrl("/bookmarks/" + bookmark.getKey()));

我想要的是执行下一步并调用下一个 url 并加载书签对象,我该怎么做??

最佳答案

只需执行网络浏览器会执行的操作 - 通过请求 Location header 中获取的 URL 来执行重定向:

mockMvc.perform(get("/bookmarks/" + bookmark.getKey())).andExpect(...)

不过,这是一个单独的测试用例。因此,一个 TC 应该测试您是否确实被重定向,另一个 TC 应该测试 bookmarks/{id} 端点。

编辑(2017 年 6 月 13 日)

Spring Framework 的 bugtracker 中有一个功能请求,允许 MockMVC 遵循重定向 ( SPR-14342 Improve MockMvc to follow redirects and forwards )。今年早些时候,它被拒绝了,但有以下评论:

Resolving as "Won't Fix" since general support for forwarding is well beyond the scope of the MockHttpServletRequest. Consider testing directly against the forwarded URL and setting up the request as it would be expected at the point of forwarding.

关于spring - mockmvc 加载重定向 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40225479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com