java - RestAssuredMockMvc 请求属性未作为 ArrayList 传递
问题描述
我有一个带有“角色”请求属性的 POST 方法,如下所示
@RequestMapping(method = RequestMethod.POST, value = "/displayRoles")
public String displayRolesView(HttpServletRequest request, Model model, HttpSession session) {
List<Role> roles = (List<Role>) request.getAttribute("roles");
//rest of the implementation
}
我尝试使用 RestAssuredMockMvc 编写一个单元测试,它将角色的 ArrayList 作为请求属性传递,如下所示
List<Role> roles= new ArrayList<>()
roles = util.getTestRolesArrayListData();
RestAssuredMockMvc
.given()
.auth().none()
.attribute("roles",roles)
.sessionAttrs(sessionAttrMap)
.when()
.post("/displayRoles")
.then()
.statusCode(200);
请注意,util.getTestRolesArrayListData() 是我用来获取 Roles.java 的 ArrayList 的测试 util 方法。
当我运行测试时,请求具有属性“roles”但作为字符串值而不是作为 Role.java 的 ArrayList 这会引发错误 "Request processing failed; nested exception is java.lang.ClassCastException: java.base/java.lang.String cannot be cast to java.base/java.util.List".
但是当我运行实际程序并对其进行调试时,它会收到一个角色的 ArrayList 并且没有错误。
我还尝试.attributes(requestAttrMap)
将 requestAttrMap 作为“HashMap<String, Object>()”,但也没有运气。
谁能帮我这个。TIA
解决方案
推荐阅读
- javascript - 将制造提前期添加到网站 Javascript 到 HTML
- python - 如何从文本匹配组中排除某些字符?
- node.js - Linux上的SharpJS管道内存泄漏
- javascript - 如何在anime.js中链接动画?
- java - 找到接口 org.apache.poi.util.POILogger,但预期类错误
- javascript - 有什么方法可以知道 highchart DOM 是否完整呈现?
- c - 如何过滤掉大于 100 的值,使其不计入总和
- javascript - 将文件名保存到数据库并将文件上传到服务器
- javascript - 无需重新加载页面的登录表单验证
- javascript - 将文件上传到 Django